shouldAutorotateToInterfaceOrientation: никогда не вызывается
Я установил поддерживаемую ориентацию интерфейса на все, кроме книжной перевернутой нижней части в разделе «Информация о развертывании».
Я хотел бы переопределить shouldAutorotateToInterfaceOrientation: для пользовательского поведения. (т.е. поддерживаю ландшафт согласно условию)
У меня только один viewcontroller из-за ограничений (настраиваемые переходы вида)
Вот как выглядит код в моем appdelegate:
self.viewController = [[MyController alloc]initWithNibName:nil bundle:nil];
self.window.rootViewController = self.viewController;
[self.window makeKeyAndVisible];
return YES;
и в myController.m я переопределяю mustAutorotateToInterfaceOrientation:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation {
return YES;
}
приложение автоматически поворачивается в любую ориентацию, но портрет перевернут, и обратный вызов никогда не вызывается. Я попробовал предложение визменить возврат от shouldAutorotateToInterfaceOrientation: в runTime без успеха. Зачем?
на заметку, что будет лучшим способом изменить поддержку вращения во время выполнения?
update:
- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
вызывается. Я пытался поместить в
[[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationPortrait];
безуспешно :(