UISplitViewController:最初显示详细信息视图

时间:2015-09-21 22:44:03

标签: ios swift uikit uisplitviewcontroller

我有UISplitViewController。主视图显示了用于导航的应用程序的概述,详细视图是用户将在99%的时间内进行交互的内容。当应用程序在水平紧凑的环境中启动时,它会显示主视图,但我希望它显示详细视图。用户可以根据需要返回主服务器,但该应用程序实际上完全没有功能。

如何让它在开机时显示详细视图,而不是主人?

这应该相当简单,但我尝试了很多方法,没有一种方法特别令人满意。

尝试1

在我的UISplitViewControllerDelegate

func primaryViewControllerForCollapsingSplitViewController(_ splitViewController: UISplitViewController) -> UIViewController?
{
    return splitViewController.viewControllers.last
}

这确实显示了启动时的详细视图,但它缺少将用户带到主视图的导航按钮。显然这是因为细节视图没有被推到堆栈上;相反,它完全取代了主人。我当然可以通过添加我自己的'回归来捏造它。按钮 - 但这似乎是一个黑客(对吧?)。

尝试2

只要应用程序加载并显示主控,立即使用

按下详细信息视图
splitViewController!.showDetailViewController(detailViewController, sender: self)

这可能会奏效,但看起来也有些笨拙。它本质上是让操作系统最初做错了,然后在用户注意之前快速更改它!

那么,有更好的方法吗?

1 个答案:

答案 0 :(得分:4)

添加:

     self.performSegueWithIdentifier("showDetail" , sender:self)

到MasterViewController的viewDidLoad方法。

“showDetail”是从主服务器到详细信息VC的segue标识符。

它会将DetailViewController推送到NavigationController堆栈