2011-01-30 4 views
0

Мое приложение использует контроллер навигации, и я пытаюсь вставить поддержку ландшафта! у меня NavigationController и вид, что называется с IBAction (подключен на UIButton) с этим кодом:Контроллер навигации в ландшафте, поп-прокрутки вверх

view *myview = [[view alloc] initWithNibName:@"view" bundle:[NSBundle mainBundle]]; 
[self pushViewController:myview animated:YES]; 

Конечно, я уже импортирован «myview.h» в моем NavigationController_Class

Так, для пейзажа, я вставил этот код в «myview.m» и в «NavigationController_Class.m»

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { 
return ((interfaceOrientation == UIInterfaceOrientationPortrait) || (interfaceOrientation == UIInterfaceOrientationPortraitUpsideDown) || (interfaceOrientation == UIInterfaceOrientationLandscapeLeft) || (interfaceOrientation == UIInterfaceOrientationLandscapeRight)); 
} 

в чем проблема? Он работает, но когда вы касаетесь кнопки для появления списка из стека, это прокручивается не справа, а сверху вниз.

Знаете ли вы, что может быть проблемой? спасибо!

+0

Вы действительно должны вернуться YES в shouldAutorotateToInterfaceOrientation: - метод, т.к. вы поддерживаете все четыре направления. –

+0

хорошо, спасибо, спасибо! Но проблема не решена, ничего не изменилось! Навигационный контроль продолжает прокручиваться – JAA

ответ

3

Имейте в виду, что у вас есть UINavigationController внутри UITabBarController?

решения переопределить shouldAutorotateToInterfaceOrientation: метод каждого контроллера представления в навигации стеке (последний не обязательно) и вернуть YES для поддерживаемых ориентаций