Как вызвать экранную ориентацию в определенных контроллерах представления?

16
задан Glorfindel 21 February 2019 в 17:00
поделиться

3 ответа

Кажется, нет способа сделать это использование зарегистрированных методов.

я зарегистрировал ошибку для этого: rdar://6399924

"Нет никакого способа всегда ограничить UIViewController одной ориентацией",

Вы видите его на открытом радаре (наряду со ссылкой на пример кода для репродуцирования проблемы) здесь: http://openradar.appspot.com/radar?id=697

2
ответ дан 30 November 2019 в 23:39
поделиться

Я не смог заставить это прокладывать себе путь, я хотел. Необходимо смочь установить конкретную ориентацию для ViewController, но NavigationController, кажется, всегда не делает правильную вещь.

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

-1
ответ дан 30 November 2019 в 23:39
поделиться

Как кто-то на открытом предложенном радаре, обходное решение должно отключить "назад" кнопку в то время как в непортрете:

- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation{
    // don't let user press "back" button in landscape - otherwise previous view and the rest of the application
    // will also be in landscape which we did not feel like testing yet
    self.navigationController.navigationBarHidden = (UIInterfaceOrientationPortrait != self.interfaceOrientation);
}
0
ответ дан 30 November 2019 в 23:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: