Странная ошибка автоповорота iOS6
Я использую эту категорию для поддержки автоматического поворота в ios 6
@implementation UINavigationController (RotationIn_IOS6)
-(BOOL)shouldAutorotate
{
NSLog(@"Last Object is %@",[[self.viewControllers lastObject] description]);
return [[self.viewControllers lastObject] shouldAutorotate];
}
-(NSUInteger)supportedInterfaceOrientations
{
return [[self.viewControllers lastObject] supportedInterfaceOrientations];
}
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
return [[self.viewControllers lastObject] preferredInterfaceOrientationForPresentation];
}
Моя настройка приложения такая
- показывать экран пароля с вращением контроллера навигации отлично работает для обоих (симулятор, устройство).
- Аутентифицировать пользователя и показать дом Поворот экрана работает только в симуляторе, а не в устройстве
-(BOOL)shouldAutorotate
Кто-нибудь знает, как решить эту проблему?
1 ответ
Согласно ответу на этот вопрос, использование категории для переопределения метода в классе Какао является плохой идеей. "поведение не определено относительно того, какая реализация метода используется во время выполнения".
Я использую подкласс UINavigationController для достижения того, что вы пытаетесь сделать, и у вас не было никаких проблем, поэтому я предлагаю вам попробовать это.