0

我第一次在 iPad 上使用 SplitView。我已经通过使用 UISplitViewController 的默认行为来实现该应用程序。但现在我需要实现一些不同的。我们可以在纵向模式下拥有与横向模式相同的布局吗?意味着在左半部分主视图和右半部分将具有详细视图。主视图应通过单击 DetailView 上的菜单按钮(左 barbuttonitem)来隐藏/取消隐藏。当主视图显示在左侧时,DetailView 应占用 iPad(Portriate 模式)的一半空间,即右侧部分,当用户单击菜单按钮隐藏主视图时,DetailView 应向左侧滑动并占据全部iPad的空间(人像模式)。示例应用程序 Youtube iOS iPad 应用程序。纵向模式下的拆分视图应如下所示。 然后点击

4

3 回答 3

1

快速浏览一下文档表明它UISplitViewControllerDelegate有一个-splitViewController:shouldHideViewController:inOrientation:方法。那会做你想要的吗?

于 2013-05-30T07:18:26.887 回答
0

调用这些方法。根据您的要求。

-(void)splitViewController:(UISplitViewController *)svc willHideViewController:(UIViewController *)aViewController withBarButtonItem:(UIBarButtonItem *)barButtonItem forPopoverController:(UIPopoverController *)pc
{
    self.masterBarButtonItem = barButtonItem;
    self.masterPopoverController = pc;

    barButtonItem.title = NSLocalizedString(@"Master", @"Master");

    [self.currentDetailController.navigationItem setLeftBarButtonItem:self.masterBarButtonItem animated:NO];
}

/* forward the message to the current detail view
 * all detail views must implement UISplitViewControllerDelegate
 */
-(void)splitViewController:(UISplitViewController *)svc willShowViewController:(UIViewController *)aViewController invalidatingBarButtonItem:(UIBarButtonItem *)barButtonItem
{
    self.masterBarButtonItem = nil;
    self.masterPopoverController = nil;

    [self.currentDetailController.navigationItem setLeftBarButtonItem:nil animated:NO];

}
于 2013-05-30T08:44:43.260 回答
0

这是一个很好的例子,可以为您提供您正在搜索的内容,希望对您有所帮助。请让我知道^_^

于 2013-05-30T08:17:16.267 回答