繁体   English   中英

iPad UISplitViewController:展开主屏幕而不是全屏显示详细信息?

[英]iPad UISplitViewController: Expand master instead of detail full screen?

我正在开发一个iOS8 iPad应用程序,该应用程序使用UISplitViewController作为其根视图控制器(类似于主从模板)。

我的应用程序要求我始终同时以纵向和横向显示主视图和详细视图。 我已经设置好了,除了一个例外,一切都运行良好。 我需要能够将主视图全屏展开,从而隐藏详细视图。 我很清楚,相反的情况很容易实现(将细节扩展到全屏隐藏母版)。 我本质上是在寻找相同的功能,但相反。

这是为详细视图提供扩展/合同功能的代码:

self.navigationItem.leftBarButtonItem = self.splitViewController.displayModeButtonItem;
self.navigationItem.leftItemsSupplementBackButton = YES;

是否可以在MASTER视图控制器上实现此效果? 我需要这种效果,因为我的MASTER视图控制器是我的主要视图控制器,具有以表格格式显示的大量信息,而我的详细视图控制器并不需要太多的屏幕空间。

我已经尝试仅通过将preferredPrimaryColumnWidthFraction = 1设置为仅覆盖详细视图,但这似乎更像是一种技巧,并且不提供扩展详细视图的默认动画。

不可以,我无法将表格设置为详细信息(并显示在右侧)。

不可以,我无法将详细信息视图设置为主视图(并显示在左侧)。

不,我不想使用开源库来实现这一目标(如果可能)

这似乎不是默认转换。

您可以尝试从“折叠和扩展拆分视图界面”的建议开始:

过渡到折叠接口时,拆分视图控制器与其委托一起工作以管理过渡。 在合拢转换结束时,拆分视图控制器通常仅显示其主视图控制器中的内容。 您可以通过在拆分视图控制器委托中实现primaryViewControllerForCollapsingSplitViewController:方法来更改此行为。 您可能使用该方法来指定辅助视图控制器或完全不同的视图控制器,也许是一种更适合在水平紧凑环境中显示的视图控制器。 如果要对视图控制器和视图层次结构执行任何其他调整,则还可以在委托中实现splitViewController:collapseSecondaryViewController:ontoPrimaryViewController:方法。

这样,您可能会崩溃, 但要完整显示主视图控制器,而不是通过挂接到primaryViewControllerForCollapsingSplitViewController:

这看起来可能很怪异,所以最好还是用自定义的调整大小动画以模态呈现主视图控制器。 在最坏的情况下,您可以在现有的UIWindow上添加另一个UIWindow来分离主视图控制器。 在最好的情况下,您将摆弄现有的视图控制器层次结构,然后从中分离主视图。 我可以想象,但是这会给改变方向带来很多麻烦。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM