2009-04-09 4 views
1

У меня есть две ViewController одна ориентация поддержки другая нет, но когда я поворачиваюсь во второй ViewController (тот, который поддерживает ориентацию) до пейзажа и обратно к первому ViewController (не поддерживает ориентацию), тем временем второй вид по-прежнему остаются ландшафты, это изменит первый вид, который станет ландшафтом, но он не должен быть ландшафтом, а первый ViewController не поддерживает ориентацию, как я могу предотвратить это?NavigationController пейзаж и портрет

Вещь, которую я хочу, - это первый вид, который всегда будет представлять собой портрет независимо от того, как вы вращаете телефон, особенно когда он вернулся со второго взгляда, и он был в ландшафте.

ответ

0

в viewWillAppear:Animated вашего первого контроллера, вызовите

[[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationPortrait]; 

И, конечно, настроить shouldAutoRotateToInterfaceOrientation вернуть YES только на UIInterfaceOrientationPortrait.

+0

это только поверните устройство обратно в потолок, но мой взгляд все еще был в ландшафте, другими способами? – issac

+0

Вам необходимо убедиться, что правильный контроллер просмотра принимает события поворота. Несколько раз добавление контроллера вида приведет к тому, что он получит события даже после его удаления; Кроме того, я знаю, по крайней мере, с TabBarViewControllers, он не отправляет события поворота своим дочерним элементам, поэтому вам нужно переопределить. –

+0

Я думаю, что Эд имел в виду [[UIDevice currentDevice] setOrientation: UIInterfaceOrientationPortrait]; выше источника - это только изменение ориентации строки состояния, а не представлений. –

-1

in viewWillAppear: Анимированный из вашего первого контроллера, звоните [[UIDevice currentDevice] setOrientation: UIInterfaceOrientationPortrait];

 Смежные вопросы

  • Нет связанных вопросов^_^