1

iOS アプリで説明できない奇妙な動作を発見しました。

UITabBarController サブクラスに埋め込まれた標準の UINavigationController を使用しています。

NavigationController に ViewController をプッシュすると、アニメーションは問題ありません。ただし、ViewController がランドスケープでポップされると、期待される右から左への標準的な動作とは対照的に、ポップ アニメーションは画面の上端から下端まで発生します。

さらに奇妙なのは、TabBar がアニメーション化されたトランジションに含まれていることです。これは、Portrait モードには当てはまりません。

これは iOS 5 デバイスでのみ発生し、現時点ではなぜこれが発生するのかわかりません。

4

1 に答える 1

9

解決策を見つけました。shouldAutorotateToInterfaceOrientation問題は、回転のみを許可するように実装された最初のビュー コントローラーでした。UIInterfaceOrientationPortraitこれは、(グローバルに許可された) 方向に実際に正しく回転したため、明らかではありませんでした。

そのため、このプロパティはプッシュとポップの動作にのみ影響を及ぼしていました。これで、両方のビュー コントローラー (最初のものとプッシュされているもの) が で実装さshouldAutorotateToInterfaceOrientationreturn YES;ます。これで、アニメーションが正しくなりました (横向きモードでは左から右へ、またはその逆で、押したときに右から左へ、ポップしたときに上から下へ)。

于 2012-11-14T12:35:01.637 に答える