Вращающиеся контроллеры представления в иерархии View Controller -> Controller Control Panel -> Navigation Controller -> View Controller - PullRequest
0 голосов
/ 23 января 2012

В моем приложении иерархия контроллера представления настроена так:

UIViewController
    |
UITabBarController
    |
    UINavigationController
    |  |
    |  UIViewController (*)
    |
    UINavigationController
       |
       UIViewController (*)

Почему мой UIViewController (*) не получает (void) willAnimateRotationToInterfaceOrientation: (UIInterfaceOrientation) toInterfaceOrientation duration: (NSTimeInterval) метод продолжительности?

Когда мое приложение имеет иерархию контроллера представления, настроенную так:

UITabBarController
    |
    UINavigationController
    |  |
    |  UIViewController (*)
    |
    UINavigationController
       |
       UIViewController (*)

UIViewController (*) get (void) willAnimateRotationToInterfaceOrientation: (UIInterfaceOrientation) toInterfaceOrientation duration: (NSTimeInterval) метод продолжительности.

Ответы [ 2 ]

3 голосов
/ 24 января 2012

Это проблема сдерживания контроллера представления. Если вы ориентируетесь на iOS 5, вы можете использовать новые UIViewController методы для локализации (см. Управление дочерними контроллерами представления ). В противном случае вам необходимо переслать сообщения о ротации от вашего корня UIViewController до UITabBarViewController.

1 голос
/ 23 января 2012

Все ваши UIViewController внутри UITabBarController должны поддерживать автоповорот, чтобы разрешить вращение для UITabBarController.Разместите этот код во всех UIViewController (*):

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
   return YES;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...