Не изменяется ширина View
override func layoutSubviews() {
super.layoutSubviews()
layoutIfNeeded()
itemButton.layer.borderWidth = 1
itemButton.layer.borderColor = UIColor.systemGray.cgColor
if isSupportView {
itemButton.frame.size.width = 2
} else {
itemButton.layer.cornerRadius = itemButton.frame.width/2
}
}
Создаю кастомную View. Если флаг - isSupportView , то изменяю ширину View.Но при запуске ширина не изменяется .Ширину View настраиваю IB

Ответы (2 шт):
Общий алгоритм действий при установке констрейнтов в интерфейс билдере и необходимости затем изменить размеры или позицию вью (на примере ширины):
- для констрейнта ширины создаем outlet
- при необходимости изменить ширину в любом методе присваиваем новую ширину
widthConstraint.constant = newWidth
Кстати в вашем случае будет немного иначе - так как у вас установлены leading и trailing контрейнты, а затем еще и пропорциональный размер, то вам нужно менять размеры именно leading и trailing констрейнтов, создав для них аутлеты, но при этом ваша кнопка будет одновременно менять не только ширину, но и высоту
Ширина в случае подобной разметки будет контролироваться родительским вью и констрейтами в нем. Если необходимо, чтобы вью сама определяла свой размер, тогда нужно переопределить intrinsicContentSize, например так:
override var intrinsicContentSize: CGSize {
return CGSize(width: 50, height: 50)
}
А вложенные вью уже подстроятся.