Я реализовал этот метод в своем коде, чтобы узнать, когда произойдет изменение ориентации интерфейса:
- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
Я полагаюсь на это, чтобы вызывать настройки моих просмотров. В iOS 4 или 5 его правильно называют, когда меняется ориентация.
В iOS 4 он также вызывается, когда контроллер сначала загружается (независимо от того, изменяется ли ориентация или нет, он получает один раз в начале с правильной ориентацией).
Проблема в том, что я заметил, что в iOS 5 этого больше не происходит. Метод вызывается при изменении ориентации, но не при загрузке контроллера. Это проблема для меня, потому что я полагаюсь на это, чтобы настроить размещение исходного представления на основе ориентации.
Любые идеи, почему это поведение изменилось? Какой лучший способ справиться с этим? Должен ли я проверить, что такое ориентация в viewDidLoad, если на iOS 5, а затем вручную вызвать методы willRotate и didRotate? Это немного похоже на взлом.
Спасибо за любой ввод, который вы можете предоставить.