Мой контроллер представления имеет представление стека с 3 кнопками. Одна фиксирована в центре с фиксированной шириной и стеком, настроенным на пропорциональное заполнение, так что две другие кнопки будут симметричными.
Однако я также настраиваю угловой радиус кнопок, и как только приложение загружает размер кнопки, размер кнопки изменяется нежелательным образом.
Я пробовал многочисленные настройки распределения и заполнения стека. Удаление кнопок из стека и просто попытка ограничить их краями в обычном UIView безрезультатно, как кажется, но неясно, удаляются ли ограничения.
Визуально кнопка будет расположена в правом нижнем углу экрана с нулевым интервалом между краем и кнопкой. В настоящее время он расположен таким образом, что нет ограничений, как кажется на нескольких устройствах, что приводит к тому, что у него есть место на больших дисплеях и выход из экрана на маленьких дисплеях в симуляторе.
Попытка кодирования скруглить нужные углы:
@IBOutlet fileprivate weak var button: UIButton! { didSet {
button.round(corners: [.topRight, .bottomLeft], radius: 50 , borderColor: UIColor.blue, borderWidth: 5.0)
button.setNeedsUpdateConstraints()
button.setNeedsLayout()
} }
override func viewDidLayoutSubviews() {
button.layoutIfNeeded()
}
ovverride func updateViewContraints() {
button.updateConstraintsIfNeeded()
super.updateViewConstraints()
}
Используемое расширение UIView можно найти здесь: https://stackoverflow.com/a/35621736/5434541
Какое решение доступно для правильной настройки углового радиуса кнопок и позволяет ограничениям обновлять кнопку так, как она должна быть.