UIViewController interfaceOrientation всегда одно и то же значение - PullRequest
3 голосов
/ 04 ноября 2010

Независимо от того, в какую сторону повернуть iPad, viewcontroller.interfaceOrientation всегда возвращает 1. Кто-нибудь знает, почему это так?

Ответы [ 2 ]

1 голос
/ 07 ноября 2010

Это полностью зависит от того, где ваш viewcontroller находится в иерархии представлений.

UIWindow должен иметь только один связанный view-контроллер (обычно rootViewController), и это viewcontroller, который реагирует на вращение. Если rootViewController имеет несколько дочерних контроллеров представления, вам нужно будет обнаружить вращение в rootViewController и передать его соответствующему контроллеру представления

В онлайн-документации есть очень хорошее руководство по программированию. Если я найду ссылку, я выложу ее. Ищите мои предыдущие посты, где меня указали в том же направлении.

0 голосов
/ 16 ноября 2012

Эта проблема исчезла в iOS 6.0.

Обходной путь может выглядеть следующим образом:

- (UIInterfaceOrientation)interfaceOrientation;
{
    UIViewController *rootViewController = self.view.window.rootViewController;
    if (rootViewController) {
        return rootViewController.interfaceOrientation;
    }
    return [super interfaceOrientation];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...