UISplitViewController的详细视图控制器在主视图窗口中加载。

3

我有一个UISplitViewController,它有以下布局,由一个主控制器和一个细节控制器组成。

enter image description here

这对于基本的单视图分割视图运作良好,但我需要支持从UITableViewController(Master View)进行多个segue,并且在传递数据之前不加载详细视图;否则应用程序将因为可选错误而崩溃。我尝试了以下设置;

enter image description here

UISplitViewController加载时,它会加载一个空白的ViewController作为详细视图,当选择一行时,我有一个详细的segue到其他视图控制器,这些控制器应该出现在UISplitViewController的详细视图中。
不幸的是,这并不完全起作用,所有数据都被传递和加载,但详细的segue实际上会在分割视图的主视图窗口中加载视图控制器,而不是详细视图。
有点像这样,

enter image description here

我可以帮你翻译成中文。这段内容询问如何实现多个详细视图控制器,在从主视图的UITableViewController初始化segue并在详细窗口中打开之前不会被加载。下面是来自MasterViewController的代码:
override func viewDidLoad() {
    super.viewDidLoad()
    self.splitViewController!.delegate = self;
    self.splitViewController!.preferredDisplayMode = UISplitViewControllerDisplayMode.AllVisible

    self.extendedLayoutIncludesOpaqueBars = true
}


func splitViewController(splitViewController: UISplitViewController, collapseSecondaryViewController secondaryViewController: UIViewController, ontoPrimaryViewController primaryViewController: UIViewController) -> Bool {
    return true
}
1个回答

8
如果已经存在segues,则尝试从主视图到其他详细视图中删除segues,并使用详细segue重新创建它们。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接