UISplitViewController - 隐藏主滑入视图

Posted

技术标签:

【中文标题】UISplitViewController - 隐藏主滑入视图【英文标题】:UISplitViewController - Hide master slide-in view 【发布时间】:2014-02-11 13:19:37 【问题描述】:

我的应用在其主视图控制器中有一个UICollectionViewController。当设备处于纵向时,用户可以滑动屏幕以显示主视图。

选择收集单元格时,详细视图已使用新数据进行更新。现在我希望主视图同时自动隐藏。有可能吗?

【问题讨论】:

How to hide master view in UiSplitviewcontroller in ipad 的可能重复项 检查我记录的副本中的最高得分(不是所选答案)。 @PeterDeWeese 我知道这个功能。这将根据方向控制是否应该隐藏主视图。但是,我想控制滑入的主视图(以前是弹出窗口),而不是固定样式的主视图。 感谢您的澄清。关闭投票被撤回。 【参考方案1】:

在Apple Developers Forum找到答案

首先确保细节视图控制器有对弹出视图的引用:

- (void)splitViewController:(UISplitViewController *)svc
    willHideViewController:(UIViewController *)aViewController
         withBarButtonItem:(UIBarButtonItem *)barButtonItem
      forPopoverController:(UIPopoverController *)pc 
    //Grab a reference to the popover
    self.popover = pc;

然后在更新详细视图时关闭弹出框:

if (_popover != nil) 
    [_popover dismissPopoverAnimated:YES];

【讨论】:

遗憾的是,UIPopoverControllerios 9 中已被弃用,这使得它成为一个垂死的解决方案。【参考方案2】:

UICollectionViewController你可以这样做

UISplitViewController *splitVC = (UISplitViewController *)self.parentViewController;
    splitVC.preferredDisplayMode = UISplitViewControllerDisplayModePrimaryHidden;

【讨论】:

以上是关于UISplitViewController - 隐藏主滑入视图的主要内容,如果未能解决你的问题,请参考以下文章

UISplitViewController - 并排或纵向叠加

在 UIViewControllers 和 UISplitViewController 之间导航 [关闭]

将 UIToolBar 放在 UISplitViewController 上方?

UISplitViewController + UISearchController 显示搜索细节

iPad 上的 UITraitCollection 和 UISplitViewController

UISplitViewController 没有正确显示