UISplitViewController + Split View:在启动时隐藏细节

UISplitViewController + Split View: hide details at startup

我在 iPad 应用程序中有一个 UISplitViewController,直到现在我在启动时将占位符设置为详细信息视图控制器,因此在用户选择一个项目之前屏幕的右侧部分不会看起来是空的.

但是现在,在 iOS 9 上,当使用 50/50 水平拆分视图(多任务处理)时,拆分视图控制器会自动推送我的占位符,当然我希望它显示主视图因为在那种情况下不需要占位符。

有人知道如何避免这种自动行为吗?

也许有一段 API 就是这样做的,我错过了?像 'selectViewController:' 这样的东西告诉拆分视图控制器显示主视图或详细视图。或者也许我们可以访问内部导航控制器,以便弹出到根目录?

谢谢!

您需要实现 UISplitViewControllerDelegate 方法

- (BOOL)splitViewController:(UISplitViewController *)splitViewController collapseSecondaryViewController:(UIViewController *)secondaryViewController ontoPrimaryViewController:(UIViewController *)primaryViewController

根据文档,此方法的 return 值为:

NO to let the split view controller try and incorporate the secondary view controller’s content into the collapsed interface or YES to indicate that you do not want the split view controller to do anything with the secondary view controller.

实施此委托方法并returning YES 应该使拆分视图控制器在启动时显示主视图控制器。