Представление Popping из UINavigationController меняет ориентацию устройства - PullRequest
1 голос
/ 18 мая 2011

У меня проблема с UINavigationController на iPad.Когда приложение запускается в горизонтальной ориентации, выталкивание контроллера верхнего вида из контроллера навигации приводит к тому, что ориентация устройства превращается в портретную, и отображаемый вид сдвигается вниз, когда вид, который становится видимым, и настраивается на портретную ориентацию.Не имеет значения, если я инициирую вызов или это происходит автоматически с помощью кнопки возврата.

Когда приложение запускается в портретном режиме, а устройство позже переходит в альбомную ориентацию, я не вижу того же поведения, и все работает нормально.

Любые указатели, где и что искатьнайти причину или обходные пути, чтобы предотвратить это, приветствуются.

Спасибо, Оз

1 Ответ

2 голосов
/ 18 мая 2011

Один из контроллеров представления в иерархии представления вашего UINavigationController не переопределяет метод shouldAutorotateToInterfaceOrientation:, который по умолчанию возвращает только YES для UIInterfaceOrientationPortrait - поэтому, когда этот конкретный контроллер представления выходит на передний план, он автоматически поворачивается в поддерживаемую ориентацию.

Вы можете это исправить, найдя контроллер вида, который нарушил работу, и добавив следующий код:

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