32

iPad 設定などの縦向きの左側のメニューを使用して、iPad アプリケーションで SplitView を取得したいと考えています。今のところ、縦向きでは全画面表示のコンテンツ ビューがあり、NavigationBar には左メニューのポップオーバーを含むボタンがあります。

4

8 に答える 8

50

これはあなたが必要とする魔法です:

このメソッドは UISplitViewControllerDelegate にあり、iOS 5.0 で使用できます。

- (BOOL)splitViewController: (UISplitViewController*)svc shouldHideViewController:(UIViewController *)vc inOrientation:(UIInterfaceOrientation)orientation  __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_5_0);
{
    return NO;
}
于 2011-11-08T23:00:46.877 に答える
11

Matt Gemmell のMGSplitViewControllerをぜひご覧ください。

MGSplitViewController は、UISplitViewController のオープン ソースの代替品であり、さまざまな便利な拡張機能を備えています。

于 2010-09-09T14:24:21.180 に答える
9

残念ながら、これは文書化されていないメソッド (つまり、プライベート API) です。

[splitViewController setHidesMasterViewInPortrait:NO];

これをシミュレートするには、テーブル ビュー (マスター コントローラーとして) と別の汎用サブビュー (詳細コントローラーとして) を含むカスタム ビュー コントローラーを作成する必要があると思います。

于 2010-04-13T17:38:51.063 に答える
8

必要な効果を得る最も簡単な方法は、を使用しないことUISplitViewです。代わりに、通常のビューを作成し、その左側にテーブル ビューを配置し、右側に詳細ビューを配置してから、縦向きと横向きの両方ですべてが正しく見えるように自動サイズ設定を適切に設定します。

于 2010-04-23T00:23:36.290 に答える
6

ccwasdenshouldHideViewControllerが述べたように、iOS8 の時点で非推奨です。Objective-Cでは、使用...

splitViewController.preferredDisplayMode = UISplitViewControllerDisplayModeAllVisible;
于 2014-09-17T19:13:01.157 に答える
5

Since shouldHideViewController is deprecated in iOS8, you will need to use this instead (Swift):

splitViewController.preferredDisplayMode = UISplitViewControllerDisplayMode.AllVisible
于 2014-09-14T23:25:16.737 に答える
4

私たちのブログで同じ質問をする人もいましたが、その解決策を見つけました。私のブログ投稿の最後に記載されています。初めての分割ビュー コントローラー | 海辺

一般に、メソッドのサブクラスを作成しUISplitViewControllerてメソッドをオーバーライドしwillAnimateRotationToInterfaceOrientation: duration:、インターフェイスの向きが縦向きモードに変わるときにマスター ビューと詳細ビューを調整するだけで済みます。

乾杯、アンドレアス

于 2010-04-18T19:03:29.993 に答える