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 :(

questionAnswers(2)

yourAnswerToTheQuestion