繁体   English   中英

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

[英]UISplitViewController: Show detail view initially

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

我如何获得它以显示启动时的详细视图,而不是母版?

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

尝试1

在我的UISplitViewControllerDelegate

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

确实确实在启动时显示了详细视图,但是缺少导航按钮,该按钮会将用户带到主视图。 显然,这是因为详细信息视图尚未推送到堆栈中。 相反,它完全取代了母版。 我当然可以通过添加我自己的“后退”按钮来捏造它-但这似乎是一种破解(对吗?)。

试试2

一旦应用程序加载并显示了母版,请立即使用

splitViewController!.showDetailViewController(detailViewController, sender: self)

这可能会起作用,但似乎也有些怪异。 从本质上讲,这是使操作系统最初做错事,然后在用户注意到之前迅速对其进行了更改!

那么,有没有更好的方法?

添加:

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

到MasterViewController的viewDidLoad方法。

“ showDetail”是从主机到详细信息VC的序列中的标识符。

它将DetailViewController推送到NavigationController堆栈

暂无
暂无

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

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