У меня странная проблема по очень простой задаче.AutoLayout и анимация изменения размера UILabel не работают должным образом при вращении устройства
я нужен очень небольшой настройки, чтобы воспроизвести проблему:
|--------------------------------------|
| Parent View |
| |
||------------------------------------||
|| UILabel ||
||------------------------------------||
| |
| |
||------------------------------------||
|| UIView ||
||------------------------------------||
| |
| |
|--------------------------------------|
В приведенном выше примере мы имеем родительское представление с 2 подвидов -> A UILabel и простой UIView. Им с помощью autolayout применить показано выше раскладка:
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).
Так что я ожидаю с этой установки является то, что оба подвиды примет всю ширину своего родителя, как мы определили, что ведущие и замыкающие пространство должно быть равно нулю. поэтому, если изменить ширину родительского представления, ширина подзонов также должна измениться, чтобы оставаться выровненными.
позволяет предположить, что родительский вид имеет размер 200x400 точек на дюйм. когда я строю и запускаю свой пример на портрете, все выглядит нормально. когда я поворачиваюсь в пейзаж, все по-прежнему выглядит нормально. ширина родительских представлений и даже ширина подзапроса увеличены. но теперь, когда я повернуть назад в портрет uilabels шириной сразу же получаешь свою целевую ширину без анимации:
|--------------------------------------|
| Parent View |
| |
| (immediately has target size) |
| |--------------| |
| | UILabel | |
| |--------------| |
| |
| (this subview is still |
| animating its width) |
| |------------------------------| |
|-->| UIView |<--|
| |------------------------------| |
| |
| |
|--------------------------------------|
родительского вид ширины и UIView подвидов ширина анимированы правильно. его единственная uilabel, которая имеет странное поведение здесь, и я не могу выяснить, что вызывает эту проблему.
Вы создаете иерархию и ограничения программно? В этом случае, вы настроили translatesAutoresizingMaskIntoConstraints на NO? –
Вы поняли это? У меня та же проблема – user18853