AutoLayout i UILabel zmieniają rozmiar animacji, nie działając poprawnie podczas obracania urządzenia

Mam dziwny problem z bardzo prostym zadaniem.

Potrzebuję bardzo małej instalacji, aby odtworzyć problem:

|--------------------------------------|
|             Parent View              |
|                                      |
||------------------------------------||
||              UILabel               ||
||------------------------------------||
|                                      |
|                                      |
||------------------------------------||
||              UIView                ||
||------------------------------------||
|                                      |
|                                      |
|--------------------------------------|

W powyższym przykładzie mamy widok rodzica z 2 widokami -> UILabel i prosty UIView. Używam autoukładania, aby zastosować układ pokazany powyżej:

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).

Tak więc w tej konfiguracji oczekuję, że oba widoki przeglądowe przyjmą pełną szerokość swojego rodzica, ponieważ zdefiniowaliśmy, że spacja początkowa i końcowa powinna wynosić zero. więc jeśli zmienisz szerokość widoku nadrzędnego, szerokość podpowiedzi również powinna się zmienić, aby pozostać wyrównana.

powiedzmy, że widok rodzica ma wymiar 200x400 pt. kiedy buduję i uruchamiam mój przykład w portrecie, wszystko wygląda dobrze. kiedy obracam się w krajobraz, wszystko nadal wygląda dobrze. szerokość widoków macierzystych, a nawet szerokość widoków dodatkowych, powiększyła się. ale teraz, gdy obracam się z powrotem do portretu, szerokość uilabels natychmiast osiąga docelową szerokość bez animacji:

|--------------------------------------|
|             Parent View              |
|                                      |
|    (immediately has target size)     |
|          |--------------|            |
|          |    UILabel   |            |
|          |--------------|            |
|                                      |
|   (this subview is still             |
|             animating its width)     |
|   |------------------------------|   |
|-->|           UIView             |<--|
|   |------------------------------|   |
|                                      |
|                                      |
|--------------------------------------|

szerokość widoków macierzystych i szerokość widoków podglądu widoku są animowane prawidłowo. jest to tylko uilabel, który ma tutaj dziwne zachowanie i nie mogę dowiedzieć się, co powoduje ten problem.

questionAnswers(4)

yourAnswerToTheQuestion