Это ошибка или особенность?
Мое тестовое приложение имеет один корень UIViewController
. Он реализует viewDidAppear:
и willRotateToDeviceOrientation:
Теперь случается, что симулятор iOS уже запущен и имеет значение landscape .
Если я поставлю точки останова, я ясно вижу, что viewDidAppear:
вызывается раньше willRotateToDeviceOrientation:
Следствием этого является то, что в viewDidAppear:
ширина и высота представления по-прежнему неверны: ширина = 768, высота = 1024.
Только после willRotateToDeviceOrientation:
они верны.
Если я выйду из симулятора и запущу приложение, симулятор запустится в портретном режиме. Только viewDidAppear:
будет запущен, а ширина = 768, высота = 1024 - как и ожидалось.
Почему willRotateToDeviceOrientation:
вызывается вообще? Устройство уже находится в альбомной ориентации, и оно знает об этом, поскольку оно вообще не запускает анимацию вращения.
Должен ли я перенастроить размеры моих видов в willRotateToDeviceOrientation:
?