У меня два контроллера:
- MainController, который поддерживает только портрет
- PhotoController, который поддерживает все ориентации.
Они содержатся в навигационном контроллере.
Этот сценарий не работает хорошо:
- Устройство физически находится в ландшафтном режиме, с MainController на экране, поэтому пользовательский интерфейс находится в портретном режиме.
- Мы помещаем PhotoController в стек навигации.
- Пользовательский интерфейс вращается с анимацией вращения.
Технически он работает так, как задумано. Но анимация вращения раздражает с точки зрения UX.
Я хочу, чтобы переход между контроллерами представления происходил без анимации. Я хочу, чтобы система делала вид, что предыдущий контроллер (MainController) уже был в нужной ориентации. Это возможно?
Фон
MainController имеет собственный механизм ориентации, не полагаясь на механизм UIViewController. Таким образом, пользователь думает, что пользовательский интерфейс находится в ландшафтном режиме, если устройство физически находится в ландшафтном режиме, хотя UIKit считает, что он находится в портретном режиме. При переключении контроллеров анимация вращения разрушает созданную мной иллюзию, поэтому мне нужно ее отключить.
Это на iPhone, а не на iPad.
Этот вопрос не является обманом настраиваемой анимации перехода навигационного контроллера, потому что я говорю об анимации ВРАЩЕНИЯ между портретом и ландшафтом, а не об анимации ПЕРЕХОДА между одним контроллером представления и другим.