向きの変更をサポートし、それに応じて回転するアプリがあります。イベント UIApplicationWillChangeStatusBarOrientationNotification をリッスンします。このアプリの読み込み中に、現在の向きに基づいて、いくつかのビューを追加してアプリに設定します。
iOS 6 では、これは正常に機能し、アプリは適切に応答して回転するため、ユーザーは横向きモードと縦向きモードの両方でロードでき、コードは正常に機能します。
iOS 5 では、縦向きモードでアプリをロードすると、アプリは正常に動作し、縦向きモードでのロードが完了し、UI の位置合わせとサイズが調整されると、横向きまたは縦向きへの他の向きの変更に応答します。私が抱えている問題は次のとおりです。iOS 5をランドスケープモードでロードし、iOS 5を搭載したデバイスを物理的に平らな面に置いてランドスケープを確保しているときに、ランドスケープからポートレートに移動するOrientationNotificationを取得します(デバイスはそうではありませんでした)変化する )。
したがって、同じ実験で別のデバイス iOS 6 が正しく読み込まれ、発生しなかった回転変化の奇妙なイベントは発生しませんが、iOS 5 では発生します!!
何か案は?
両方の iOS の向きをサポートしています
- (BOOL)shouldAutorotate {
return YES;
}
- (BOOL)shouldAutorotateToInterfaceOrientation:
(UIInterfaceOrientation)interfaceOrientation {
return (interfaceOrientation == UIInterfaceOrientationPortrait ||
interfaceOrientation == UIInterfaceOrientationLandscapeLeft ||
interfaceOrientation == UIInterfaceOrientationPortraitUpsideDown ||
interfaceOrientation == UIInterfaceOrientationLandscapeRight);
}