Только прямые подвиды представления MainWindow получают ориентацию, установленную iOS?

Всякий раз, когда мое приложение поворачивается, только viewController, представление которого я добавил в качестве подпредставления в главное окно, обновляет свойство interfaceOrientation, остальные остаются в неведении о том факте, что устройство было повернуто.

В мои обязанности входит уведомление других объектов об изменении, и если да, то как это сделать?

Я изучил настройку interfaceOrientation моих дочерних контроллеров просмотра, но это только для чтения.

Заранее спасибо,


person Nick    schedule 29.07.2010    source источник


Ответы (1)


Я нашел это призвание

willRotateToInterfaceOrientation

и/или

didRotateFromInterfaceOrientation

контроллера представления, который вы собираетесь показать, сработало для меня. В моем случае я использовал контроллер навигации, поэтому было легко отслеживать, что будет показано пользователю дальше. Ниже приведен код из моего проекта.

- (void)navigationController:(UINavigationController *)navigationController 
         didShowViewController:(UIViewController *)viewController 
         animated:(BOOL)animated {
    [viewController willRotateToInterfaceOrientation:
        [self interfaceOrientation] duration:0];    
}
person tribeca    schedule 09.08.2010
comment
Я сделал то же самое! Работает довольно хорошо, возможно, это лучший способ. Конечно самый логичный. :) - person Nick; 10.08.2010