0

私はIIViewDeckController次のように非常に奇妙な問題を使用して直面していますか?:

私のViewController(これはですIIViewDeckController)は横向きモードで、その上に新しいView Controllerをモーダルに表示します。現在、モーダル ビュー コントローラーは横向きモードをサポートしていないため、縦向きモードでのみ表示されます。
今のところ、すべてうまくいきました。

しかし、このモーダルに表示されたコントローラーを閉じようとするとすぐに、IIViewDeckController'sビューのフレームが (320,568) になります (これは縦向きIIViewDeckControllerモードに回転したと思いますが、それについてはわかりません)。それで、実際のケースであるはずのself.interfaceOrientation「4」(つまり )を示したものを確認しました。UIInterfaceOrientationLandscapeLeft

しかし、フレームが縦向きモードを示しており、プロパティが別のものを示しているため、これら 2 つのことは私を混乱させます。このフレームを変更せずに変更するinterfaceOrientationと、ビュー内のオブジェクトのフレームが正しく計算されなくなります。

4

1 に答える 1

0

私は同じ問題に直面しましたIIViewDeckController。 AppDelegate クラス内で分類することで解決しました。

以下は、分類する必要があった 1 つの方法です。

@interface IIViewDeckController (categoryForOrientation)
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation;
@end

@implementation IIViewDeckController (categoryForOrientation)

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation{
    return [self interfaceOrientation];
}
于 2014-03-10T07:03:16.503 に答える