У меня есть это приложение, над которым я работаю, и мне нужны ВСЕ мои контроллеры просмотра, кроме одного, чтобы быть в портрете. Единственный один контроллер просмотра, который мне особенно нужен, чтобы он мог поворачиваться в любую ориентацию телефона.
Для этого я представляю его модально (не встроенный в NavigationController)
Итак (например) моя структура выглядит так:
- окно - портрет
- контроллер корневого представления (UINavigationController - Portrait)
- контроллер домашнего просмотра (UIViewController - Portrait)
- подробный просмотр контроллера (UIViewController - Portrait)
- .
- .
- .
- modal view controller (UIVIewController - All)
- контроллер домашнего просмотра (UIViewController - Portrait)
- контроллер корневого представления (UINavigationController - Portrait)
Теперь, когда я увольняю мой контроллер модального представления в ландшафтном положении, мой родительский контроллер представления также поворачивается, хотя он не поддерживает эту ориентацию.
Все UIViewControllers
и UINavigaionControllers
в приложении наследуются от тех же общих классов, которые имеют эти методы:
override func supportedInterfaceOrientations() -> Int
{
return Int(UIInterfaceOrientationMask.Portrait.toRaw())
}
Модный контроллер просмотра переопределяет этот метод еще раз, и он выглядит так:
override func supportedInterfaceOrientations() -> Int
{
return Int(UIInterfaceOrientationMask.All.toRaw())
}
Обновление 1
Похоже, что это происходит только на бета-версии iOS8. Кто-нибудь знает, есть ли что-то, что изменилось в отношении вращения контроллера просмотра, или это просто ошибка в бета-версии?