1

iOS5以降、縦向きモードでメールアプリにある大きなポップオーバーを再作成したいと思います。

画面の左側からスワイプすると、rootView がリスト型のポップオーバーで表示されます。

プライベート API ですか? それに関するドキュメントさえ見つかりません。

助けてくれてありがとう!

4

1 に答える 1

0

これを行うことができた唯一の方法は、UISplitViewController を使用することです。ウィンドウ全体を占めるビューを詳細ビューとして配置し、「大きな」ポップオーバー内のビューをマスターとして配置します。

アイデアは、iOS5 のデフォルトのように側面にドッキングされるのではなく、常にポップオーバーからマスターを取得することです。

上記のストーリーボードの作業を行った後、detailViewController を splitViewControllerDelegate にします。

- (void)viewDidLoad
{
    [super viewDidLoad];
    self.splitViewController.delegate = self;
}

最後に、detailViewController に次の UISplitViewControllerDelegate メソッドを実装します。

- (BOOL)splitViewController:(UISplitViewController *)svc shouldHideViewController:(UIViewController *)vc inOrientation:(UIInterfaceOrientation)orientation
{
//This ALWAYS hides the masterVC (in your case the rootVC) regardless of device orientation
    return YES;
}


- (void)splitViewController:(UISplitViewController *)svc willHideViewController:(UIViewController *)aViewController withBarButtonItem:(UIBarButtonItem *)barButtonItem forPopoverController:(UIPopoverController *)pc
{
// Assuming your detailViewController has a UIToolbar mapped to the .toolbar property
// This takes the barButtonItem from which your masterViewController "pops over"
// and places it in your UIToolbar
self.toolbar.items = [NSArray arrayWithObject:barButtonItem];
}
于 2013-03-14T02:06:12.690 に答える