2013-03-25 4 views
0

Я пробовал все утро, чтобы исправить это, но безрезультатно. Вот моя ситуация:Вращение в iOS6

У меня есть контроллер навигации по двум представлениям в моем приложении. Первый вид не должен вращаться от портрета. Второй вид должен вращаться между портретом и пейзажем. Возвращаясь к первому виду, нужно отправить его обратно на портрет.

Вот код, у меня в данный момент (который я уже экспериментировал с без успеха, так что ни в коем случае твердый):

AppDelegate:

- (NSUInteger)application:(UIApplication*)application 
supportedInterfaceOrientationsForWindow:(UIWindow*)window 
{ 
    return UIInterfaceOrientationMaskAll; 
} 

навигации контроллер:

- (BOOL)shouldAutorotate 
{ 
    return self.topViewController.shouldAutorotate; 
} 

Контроллер первого взгляда:

-(BOOL)shouldAutorotate 
{ 
    return NO; 
} 

- (NSUInteger)supportedInterfaceOrientations 
{ 
    return UIInterfaceOrientationMaskPortrait; 
} 

Второй контроллер вид:

-(BOOL)shouldAutorotate 
{ 
    return YES; 
} 

- (NSUInteger)supportedInterfaceOrientations 
{ 
    return UIInterfaceOrientationMaskAllButUpsideDown; 
} 

Текущее поведение является то, что приложение будет оставаться в Portait на первом ВК, поверните должным образом на втором VC, но если я вернусь в ландшафт, первый ВК в ландшафте и остается там. Как я могу это исправить?

+0

Я думаю, что тип вращения интерфейса обескуражен и не поддерживается под iOS 6+. UINavigationController зарегистрирован как «Не подкласс». У вас будет больше удачи, если вы представите свой второй контроллер представлений в виде модального представления, а не через навигационный контроллер. Модифицированные контроллеры представления могут вращаться независимо от своего отображаемого контроллера представлений. – Greg

ответ

-1

У меня была такая же проблема, и, насколько я помню, вы не можете исправить ее из-за того, как работает автоматическое вращение. Тем не менее, я придумал обходной путь - когда в ландшафтном режиме я спрятал панель навигации, отключив опцию, чтобы нажать кнопку «Назад». Это может или не сработает для вас, но если вы придумаете лучшее решение, я бы с удовольствием это услышал.

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