У меня есть UINavigationController, который является корневым UIViewController поддерживает только ориентацию на портрет. Когда пользователь нажимает кнопку, второй UIViewController загружается и помещается в стек, этот контроллер представления, назовем его secondViewController, поддерживает только ландшафтную ориентацию.UIViewController в UINavigationController не вращается, как ожидалось
Обычно, что произойдет, так это то, что интерфейс вращается во время перехода к secondViewController, но это не происходит, несмотря на то, что shouldAutorotateToInterfaceOrientation: вызов вызываемого на secondViewController. Как только я наклоняю устройство вручную, когда отображается секундомер, он вращается так, как ожидалось, и при переключении обратно на первый UIViewController он поворачивается обратно к портрету, как следует.
Чтобы проверить, имеет ли разрешенный интерфейс Ориентации первого UIViewController оказывают какое-либо влияние на процесс, я установил возврат ДА; однако для всех интерфейсов проблема оставалась. Я также читал technical Q&A on the subject, но в соответствии с этим документом все должно быть хорошо, UINavigationController является единственным подзором окна.
Я создаю secondViewController полностью программно (переписывая loadView), и этот конкретный случай работал раньше в других приложениях. Кто-нибудь знает, что я могу делать неправильно?