shouldAutorotateToInterfaceOrientation: nigdy nie wywoływany
Ustawiłem obsługiwane Orientacje interfejsu na wszystkie z wyjątkiem Portret do góry nogami w obszarze Informacje o rozmieszczeniu.
Chciałbym przesłonić shouldAutorotateToInterfaceOrientation: dla zachowania niestandardowego. (tj. wsparcie krajobrazu zgodnie z warunkami)
Mam tylko jeden kontroler widoku z powodu ograniczeń (niestandardowe przejścia widoku)
Oto jak wygląda kod w mojej aplikacji:
self.viewController = [[MyController alloc]initWithNibName:nil bundle:nil];
self.window.rootViewController = self.viewController;
[self.window makeKeyAndVisible];
return YES;
i w myController.m, nadpisuję shouldAutorotateToInterfaceOrientation:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation {
return YES;
}
aplikacja autorotuje do wszystkich orientacji, ale portret do góry nogami, a oddzwanianie nigdy nie jest wywoływane. Próbowałem sugestii nazmiana powrotu z shouldAutorotateToInterfaceOrientation: w runTime bez powodzenia. czemu?
na marginesie, jaki byłby najlepszy sposób na zmianę wsparcia rotacji w czasie wykonywania?
aktualizacja:
- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
zostaje wezwany. Próbowałem umieścić
[[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationPortrait];
bez powodzenia :(