2011-01-25 5 views
12

アップルは、風景のみの分割ビューを提供しますが、ポートレートモードは分割ビューを提供しません。ポートレートモードでsplitviewを達成する方法はありますか?ポートレートモードのスプリットビュー!

[splitViewController setHidesMasterViewInPortrait:NO]; 

これは動作します。しかし、このAPIは文書化されていません(プライベート)。

おかげで、
Manjunath

答えて

23

detailViewControllerにはUISplitViewControllerDelegateが必要です。単にこのコードを次の場所にドロップしてください:

- (BOOL)splitViewController:(UISplitViewController *)svc shouldHideViewController:(UIViewController *)vc inOrientation:(UIInterfaceOrientation)orientation{ 
    return NO; 
} 

これはトリックです。それは公開APIです。

+1

これはiOS 8では非推奨です。 – Joey

2

このMGSplitViewControllerを見てみましょう。

さまざまな便利な拡張機能を備えたカスタマイズされた分割ビューコントローラです。確かにあなたは肖像画でマスタービューを表示することができます。

0

いつか私は同様のことを達成しようとしました。 Mattのコードを試した後、カテゴリを作成しようとしている間に、Appleがアプリケーションを拒否しないようにするための唯一の方法は、2つのカスタムビューを使用することだということに気付きました。 this質問を参照してください。

2

APSplitViewControllerをご覧ください。 iOS5を+、あなたのdetailViewController

GOの

+0

リンクはもうアクティブではありません。私はそれを見たいと思う。 – SAHM

+0

https://github.com/SlavaBushtruk/APSplitViewController – Mustafa

16

ここに少し貢献します。

self.splitViewController.preferredDisplayMode = UISplitViewControllerDisplayModeAllVisible; 

・ホープ、このことができます:

バイトの答えは、次の操作を行いますが、ポートレートモードの両方のView Controllerを表示するには、例えばpreferredDisplayMode

使用する必要があるのiOS 8以降のiOS 7まで正しいですか! https://developer.apple.com/library/ios/documentation/UIKit/Reference/UISplitViewController_class/index.html#//apple_ref/occ/instp/UISplitViewController/preferredDisplayMode

私は通知が、それは限り十分があるようpreferredDisplayModeに基づいてsplitviewcontrollerをレイアウトしようとするということであるなかった一つのこと:iOSの8 Xcodeの6+

if let splitVCExists = self.splitViewController{ 
     splitVCExists.preferredDisplayMode = UISplitViewControllerDisplayMode.AllVisible 
    }  

docに

+1

私はUISplitViewControllerをサブクラス化し、それをストーリーボードとviewdidloadのsplitviewに関連付けましたput self.preferredDisplayMode = UISplitViewControllerDisplayModeAllVisible; – fellowworldcitizen

2

更新スペース。それ以外の場合は、コンテンツを正しく表示するための表示モードが選択されます。私はそれを使用して、私が肖像画と風景の両方でどのようにしたいのかをVCに指示します。

関連する問題