0

私はiPhone専用のアプリケーションを開発し、今ではそれをユニバーサルにしています。iPhoneでは縦向きで実行されますが、iPadでは横向きで実行するように強制したいと思います。

私がiPadバージョン用に作成したすべてのコントローラーが縦向きになっているように見えるので、私は奇妙な問題に直面しています。私はメインコントローラーを持っていますが、通常はさらにコントローラーを作成し、それらのビューをメインコントローラーのビューに追加します。この後者のビューは、横向きではなく縦向きに合うフレームで作成されます。これらのコントローラーはすべて、ランドスケープモードを強制するためのメソッド-shouldAutorotateToInterfaceOrientation:とメソッドを実装しています。-preferredInterfaceOrientationForPresentationおそらくこれでは不十分です。

さらに、私の最大の問題は、フリップビューアニメーションを作成するための最近の試みです。

[UIView transitionFromView:self.view
                    toView:about.view
                  duration:1
                   options:UIViewAnimationOptionTransitionFlipFromBottom
                completion:^(BOOL finished){
                }];

このメソッドを呼び出すと、新しいビューが画面に表示されますが、明らかに回転しています。視覚化の問題

オレンジ色のバーがビューの上部に表示され、表示されているすべてのスペースを占める必要があります。横向きモードのようですが、間違った回転でメインビューに追加されています。

これを解決するためのヒントを教えてください。

4

1 に答える 1

0

どうやらiPadで物事を正しく動作させるには、メインウィンドウのルートビューコントローラーとしてを使用する必要があります。UINavigationControllerそうしないと、このような問題に直面することになります。実際、ナビゲーションコントローラーをルートコントローラーとして設定すると、回転を処理する際のすべての問題が完全に修正されました。

于 2013-05-17T23:44:50.140 に答える