Порядок событий UIViewController в симуляторе iOS? - PullRequest
1 голос
/ 26 октября 2011

Это ошибка или особенность?

Мое тестовое приложение имеет один корень UIViewController. Он реализует viewDidAppear: и willRotateToDeviceOrientation:

Теперь случается, что симулятор iOS уже запущен и имеет значение landscape . Если я поставлю точки останова, я ясно вижу, что viewDidAppear: вызывается раньше willRotateToDeviceOrientation:

Следствием этого является то, что в viewDidAppear: ширина и высота представления по-прежнему неверны: ширина = 768, высота = 1024. Только после willRotateToDeviceOrientation: они верны.

Если я выйду из симулятора и запущу приложение, симулятор запустится в портретном режиме. Только viewDidAppear: будет запущен, а ширина = 768, высота = 1024 - как и ожидалось.

Почему willRotateToDeviceOrientation: вызывается вообще? Устройство уже находится в альбомной ориентации, и оно знает об этом, поскольку оно вообще не запускает анимацию вращения.

Должен ли я перенастроить размеры моих видов в willRotateToDeviceOrientation:?

...