Изменение размера стека не может быть визуализировано - PullRequest
0 голосов
/ 02 мая 2018

В обычном UIView, который использует практически все пространство экрана, я поместил Stack View с вертикальным и горизонтальным выравниванием и ограничением, чтобы изображения внутри имели одинаковый размер.

Таким образом, я ожидаю, что, как только размер всего стекового вида изменится, он все равно будет центрирован, и все изображения будут иметь одинаковый размер. На самом деле, если я добавлю ограничение, чтобы установить его высоту, все будет работать прекрасно.

Проблема возникает, когда я хочу установить эту высоту программно, а не как ограничение. Для этого я просто делаю:

print(myStackview.frame.size)
myStackview.frame.size.height = 400
print(myStackview.frame.size)

Абсолютно ничего не происходит со Stackview с точки зрения пользователя, но на самом деле, когда я печатаю его размер, размеры меняются, и кажется, что он работает.

Я написал эти строки в viewDidLoad и viewDidLayourSubviews, и ничего не произошло. Что это может быть?

1 Ответ

0 голосов
/ 02 мая 2018

Не меняйте кадр стека. Добавьте ограничение высоты для стека и измените его константу. Вы можете изменить постоянную величину ограничения программно:

let heightConstraint = heightAnchor.constraint(equalToConstant: 200)
heightConstraint.isActive = true

//later in code
heightConstraint.constant = 400
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...