iPad 設定などの縦向きの左側のメニューを使用して、iPad アプリケーションで SplitView を取得したいと考えています。今のところ、縦向きでは全画面表示のコンテンツ ビューがあり、NavigationBar には左メニューのポップオーバーを含むボタンがあります。
8 に答える
これはあなたが必要とする魔法です:
このメソッドは UISplitViewControllerDelegate にあり、iOS 5.0 で使用できます。
- (BOOL)splitViewController: (UISplitViewController*)svc shouldHideViewController:(UIViewController *)vc inOrientation:(UIInterfaceOrientation)orientation __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_5_0);
{
return NO;
}
Matt Gemmell のMGSplitViewControllerをぜひご覧ください。
MGSplitViewController は、UISplitViewController のオープン ソースの代替品であり、さまざまな便利な拡張機能を備えています。
残念ながら、これは文書化されていないメソッド (つまり、プライベート API) です。
[splitViewController setHidesMasterViewInPortrait:NO];
これをシミュレートするには、テーブル ビュー (マスター コントローラーとして) と別の汎用サブビュー (詳細コントローラーとして) を含むカスタム ビュー コントローラーを作成する必要があると思います。
必要な効果を得る最も簡単な方法は、を使用しないことUISplitView
です。代わりに、通常のビューを作成し、その左側にテーブル ビューを配置し、右側に詳細ビューを配置してから、縦向きと横向きの両方ですべてが正しく見えるように自動サイズ設定を適切に設定します。
ccwasdenshouldHideViewController
が述べたように、iOS8 の時点で非推奨です。Objective-Cでは、使用...
splitViewController.preferredDisplayMode = UISplitViewControllerDisplayModeAllVisible;
Since shouldHideViewController
is deprecated in iOS8, you will need to use this instead (Swift):
splitViewController.preferredDisplayMode = UISplitViewControllerDisplayMode.AllVisible
私たちのブログで同じ質問をする人もいましたが、その解決策を見つけました。私のブログ投稿の最後に記載されています。初めての分割ビュー コントローラー | 海辺。
一般に、メソッドのサブクラスを作成しUISplitViewController
てメソッドをオーバーライドしwillAnimateRotationToInterfaceOrientation: duration:
、インターフェイスの向きが縦向きモードに変わるときにマスター ビューと詳細ビューを調整するだけで済みます。
乾杯、アンドレアス