У меня странная проблема по очень простой задаче.
Мне нужна очень маленькая настройка, чтобы воспроизвести проблему:
|--------------------------------------|
| Parent View |
| |
||------------------------------------||
|| UILabel ||
||------------------------------------||
| |
| |
||------------------------------------||
|| UIView ||
||------------------------------------||
| |
| |
|--------------------------------------|
В приведенном выше примере у нас есть родительское представление с 2 подзонами → A UILabel и простой UIView. Im используя автозапуск, чтобы применить макет, показанный выше:
Constraints for UILabel:
Leading Space to superview = 0
Trailing Space to superview = 0
Fixed Height constraint (e.g. 80pt)
Top Space constraint (e.g. 50pt)
The UIView subview has the same constraint types (the values for height and top space differs).
Итак, что я ожидаю в этой настройке, заключается в том, что оба subviews будут использовать всю ширину своего родителя, поскольку мы определили, что начальное и конечное пространство должно быть равно нулю. поэтому, если изменить ширину родительского представления, ширина подзонов также должна измениться, чтобы оставаться выровненными.
позволяет предположить, что родительский вид имеет размер 200x400 точек на дюйм. когда я строю и запускаю свой пример на портрете, все выглядит нормально. когда я поворачиваюсь в пейзаж, все по-прежнему выглядит нормально. ширина родительских представлений и даже ширина подзапроса увеличены. но теперь, когда я поворачиваю назад к портрету, ширина uilabels сразу же достигает своей целевой ширины без анимации:
|--------------------------------------|
| Parent View |
| |
| (immediately has target size) |
| |--------------| |
| | UILabel | |
| |--------------| |
| |
| (this subview is still |
| animating its width) |
| |------------------------------| |
|-->| UIView |<--|
| |------------------------------| |
| |
| |
|--------------------------------------|
ширина родительских представлений и ширина подвидности uiview анимируются должным образом. его единственная uilabel, которая имеет странное поведение здесь, и я не могу понять, что вызывает эту проблему.