0

私はUISplitviewを使ってアプリケーションを開発しています。UIsplitviewが応答しない回転

デバイスフォームLandscapをPortraitに回転させるときフレームを設定しますが、設定されていません。 ポートレートモードでは詳細表示のみが表示されます。ランドスケープモードのマスターと詳細ビューがあります。

どうすれば縦書きモードで回転を識別できますか?

はそれは方法の任意の種類であるのでしょうか?(中・ビュー・コントローラのようなwillAnimationRotationtoInterfaceorientationを持っている)

答えて

0

iPad用マスター・ディテールアプリケーションテンプレートを使用してXcodeで新規プロジェクトを作成します。このプロジェクトテンプレートは、インターフェイスの向きに応答するUISplitViewControllerを作成します。したがって、それはあなたに何をするのかを完全かつ正確に示しています。

1

私が理解しているところから、あなたは肖像画の視点でマスターを見たいと思っています。

UISplitViewControllerのデザインでは、ポートレートモードでマスタービューが非表示になります。

ここには2つの方法があります。まず、ViewControllerコントローラをUISplitViewControllerDelegateとして宣言します。 (コントローラーをデリゲートとして表示します(マスターまたはディテールかどうかを把握するために、スタック内にあるものをデリゲートとして表示します)。

次に、いくつかのデリゲートメソッドがあります。

あなたはまっすぐだけで、次のデリゲートメソッドでのポートレートモードでマスターを表示したい場合は、次の

- (BOOL)splitViewController:(UISplitViewController *)svc shouldHideViewController:(UIViewController *)vc inOrientation:(UIInterfaceOrientation)orientation 

あなたはNO(別名あなたはそれがビューコントローラを非表示にする必要はありません)

を返します

デフォルトでは、これは横向きではありません。両方のビューが表示され、縦長の場合は「はい」のため、マスターが表示されません。

より洗練されたソリューションは、おそらくマスタービューを非表示にし、ナビゲーションバーの上部にボタンを置くことです。これをクリックすると、マスターがポートレートモードで表示されます。マスタービューの外側をクリックすると、マスターは非表示になります。

はこれを行うには、上記のBOOLメソッドを使用していないが、代わりにこれらの他の二つのデリゲートメソッドを実装します。UISplitViewControllerDelegateため

– splitViewController:willHideViewController:withBarButtonItem:forPopoverController: 
– splitViewController:willShowViewController:invalidatingBarButtonItem: 

検索のドキュメントを。