这就是我想要做的事情:使用SplitViewController,但不要让它成为第一个出现的东西。我想要一个初始化视图(它做一些网络内容然后完成),然后跳到分割视图。
我有这个工作。但不确定我所做的事情是否有意义并且有一种奇怪的行为。
这就是我想我所知道的:要使用SplitViewController,它必须是rootViewController。此外,使用单独的故事板似乎是让它工作的唯一方法。 (我已尝试将它们全部放在一个故事板中,但无法让它工作)。
我的第一个故事板的控制器是初始化的,然后切换到" SplitViewBoard"故事板并启动拆分视图,执行以下操作:
let mainStrbd = UIStoryboard(name: "SplitViewBoard", bundle: nil)
let splitController = mainStrbd.instantiateInitialViewController() as UIViewController
if splitController is UISplitViewController {
var mySplitController: UISplitViewController = splitController as UISplitViewController
mySplitController.delegate = appDel
appDel.window?.rootViewController = splitController
} else {
debugPrint("badness")
}
现在,一切正常。有一个例外。将rootViewController设置为splitController后,在分割视图显示在屏幕上之前有8-10秒的延迟!我想象某种方式告诉代表(或其他什么)去刷新"或者只是更明确但尚未发现它。这种方式合理吗?还是有更好的方法?