方向の変更に関するModalViewControllerの寸法

supportedInterfaceOrientations メソッドで UIInterfaceOrientationMaskAll を設定しました。 UIModalViewController を表示すると、画面の回転に関係なく常にビューの寸法が取得されます。画面を回転すると、寸法が更新されず、ポートレートとランドスケープモードで同じです(748 x 1024)。

これはモーダルビューを表示するコードです:

MyModalViewController *myModal = [[MyModalViewController alloc] initWithNibName:nil bundle:nil];
[self presentModalViewController:myModal animated:YES];

MyModalViewControllerは、 UIViewController のサブクラスである別のMyCUSTOMViewControllerを拡張します。

@interface MyModalViewController : MyCUSTOMViewController

@interface MyCUSTOMViewController : UIViewController

私は間違って何をしていますか?

1
nl ru de

1 答え

私が読んだことから、考慮すべきことがいくつかあります:

  1. アプリ全体で他の方向を利用できるようにするには、アプリケーションの UIApplicationDelegate(UIApplication *)アプリケーション内で - (NSUInteger)アプリケーション:アプリケーションsupportedInterfaceOrientationsForWindow:{UIWindow *}ウィンドウ : : UIInterfaceOrientationMaskAll <
  2. カスタムビューコントローラーでは、2つのメソッドをオーバーライドする必要があります。
   - (BOOL)shouldAutorotate
{
    YESを返します。
}

 - (NSUInteger)supportedInterfaceOrientations
{
    UIInterfaceOrientationMaskAllを返します。
}
 
1
追加された
実際にどの次元を参照していますか?フレーム ?境界?
追加された 著者 tiguero,
残念ながら、これは動作しません。
追加された 著者 Borut Tomazin,
フレームの寸法...
追加された 著者 Borut Tomazin,
OMFG。あなたが正しいです。私は境界ではなくフレームの大きさを指していました。だから、私は間違った次元を取得する。しかし、私はそれが何であるかはっきりしていませんか?ビューのベローmodalViewも回転していませんか?ありがとう!
追加された 著者 Borut Tomazin,