IOS shouldAutorotateToInterfaceOrientation не запускается автоматически при запуске для UIInterfaceOrientationLandscapeLeft - PullRequest
1 голос
/ 18 октября 2011

Я настроил свое приложение так, чтобы оно работало в UIInterfaceOrientationLandscapeRight и UIInterfaceOrientationLandscapeLeft. Я установил эти значения в моем файле plist, и в моем случае shouldAutorotateToInterfaceOrientation он будет возвращать только YES для этих ориентаций.

По большей части это работает отлично, за исключением iPad, где, если бы я держал его в LandscapeLeft во время запуска, мое приложение оказалось бы в портретном режиме, если я не переключу iPad в LandscapeRight для вызова изменения ориентации.

Просматривая журнал, стало очевидно, что "willAnimateRotationToInterfaceOrientation" происходит до вызова applicationDidBecomeActive. Я изменил свой код, так что shouldAutorotateToInterfaceOrientation возвращает YES для любой ориентации перед вызовом applicationDidBecomeActive и возвращает YES для моих альбомных ориентаций только после вызова applicationDidBecomeActive. Теперь мое приложение будет правильно запускаться и в LandscapeLeft. Однако я не чувствую, что мне следует это исправить, и я понятия не имею, почему iPad ведет себя так, как он. Буду признателен, если кто-нибудь сможет объяснить мне эту странность.

...