Предположим, у меня есть три контроллера вида в иерархии контроллера навигации.View Контроллеры не отображаются в правильной ориентации
Это, как я обработки shouldAutorotateToInterfaceOrientation:
сообщения для всех контроллеров три зрения:
vc1:
{ return (interfaceOrientation == UIInterfaceOrientationPortrait);}
vc2:
{ return (interfaceOrientation == UIInterfaceOrientationPortrait
|| interfaceOrientation == UIInterfaceOrientationLandscapeLeft
|| interfaceOrientation == UIInterfaceOrientationLandscapeRight);}
vc3:
{ return (interfaceOrientation == UIInterfaceOrientationPortrait);}
Итак, моего первоначального контроллер представления vc1 отображается в портретном режиме. Если устройство повернуто, ничего не происходит, что является правильным. Затем я выталкиваю vc2 в стек, и он первоначально отображается на портрете. Я вращаю устройство, и vc2 переходит в ландшафтный режим, который является правильным. Оставаясь в ландшафтном режиме для VC2, я поп VC2 из стека и вернуться к VC1 и VC1 отображается в портретном режиме - который также является правильным.
Итак, вот в чем проблема.
vc1 отображается в портретном, поп-музыки до VC2, и повернуть, чтобы увидеть вид ландшафта. Затем поп до vc3 и vc3 слайд в ландшафтном режиме, хотя он поддерживает только портрет.
Я понятия не имею, почему это происходит или как бороться с ним. Другими словами, всякий раз, когда вы возвращаетесь к vc1, он автоматически отображается только в портрете, но vc3 автоматически показывает, в какой ориентации использовался предыдущий vc. Но вы можете видеть, что я использую тот же код для vc1 и vc3, поэтому для меня это не имеет смысла.
Любая помощь будет очень признательна!
«Я использую тот же код для vc1 и vc1». Вы имеете в виду vc1 и vc3, верно? Возможно, вы захотите его отредактировать. –
Да, спасибо, я имел в виду «vc1 и vc3», я отредактировал вопрос ... – bpatrick100