2011-08-03 6 views
2

設定アプリのように、2つの垂直テーブルビューを並べて表示するには、分割ビューコントローラーから切り替えています。これはちょうどそれが必要として肖像画に表示するためにすべてを取得するために素晴らしい作品UIWindowのサブビューは自動回転しません

rootViewController.view.frame = CGRectMake(0, 20, 270, 1004); 
[window addSubview:rootViewController.view]; 

detailViewController.view.frame = CGRectMake(270,20, 498, 1004); 
[window addSubview:detailViewController.view]; 

[window makeKeyAndVisible]; 

:私のiPad AppDelegateで、私は次のコードを記述します。しかし、デバイスを回転させると、私のrootViewControllerは回転し、ディテールビューコントローラは回転しません。私のコントローラの両方で、私は私が間違って何をやっている

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { return YES; }

を実装するのですか?

答えて

2

これは予想される動作です。 UIWindow内の「最初の」ビューだけが、そのウィンドウによって回転が管理されます。詳細は、Technical Q&A QA1688を参照してください。

UISplitViewControllerを使用しない場合は、ルートと詳細ビューコントローラを削除し、親UIViewControllerからビューを管理することをお勧めします。

そして、あなたはそれを行うにはしたくない場合は、1つのトップレベルのUIViewController内のサブビューとしてrootViewController.viewdetailViewController.viewを追加してみてください、しかし、あなたが管理しなければならないことに注意してくださいすべての意志/表示されなかった/消え、可能性ローテーション方式ではサブコントローラーが必要ですが、サブコントローラーのparentViewControllerがトップレベルコントローラーではなくnilになるため、いくつかの問題が発生します。

+0

詳細ビューとルートコントローラの両方のビューを含むトップレベルビューを作成できました。最も一般的には、すべてを1つのコントローラーに書き換える書き換えを行いますが、既にこの2つのコントローラーをセットアップしてから、多くの時間が沈んでいます。理想的ではありませんが、それはすべて今働いています。 – alexcash

+0

ありがとうございました。 – alexcash

関連する問題