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