如何以编程方式显示UISplitViewController Master?

时间:2016-08-15 18:27:30

标签: swift swift2 ios9 uisplitviewcontroller

我尝试以编程方式显示SVC的主人。

该应用程序是通用的。我在主人身上有一个TVC,在细节上有另一个TVC。用户可以删除detail-TVC上的单元格。用户删除iPhone(compact)上detail-TVC中的最后一个单元格后,应显示主控单元。在iPad(常规)上,选择并显示主 - TVC上的下一个现有单元格(工作正常!)

我尝试手动执行displayModeButtonItem的操作,但没有任何反应:

extension UISplitViewController {
    func toggleMasterView() {
        let barButtonItem = self.displayModeButtonItem()
        UIApplication.sharedApplication().sendAction(barButtonItem.action, to: barButtonItem.target, from: nil, forEvent: nil)
    }
}

用于测试添加的" Show"详细TVC导航栏上的按钮,并执行上述功能。

@IBAction func do_ShowMaster(sender: BaseUIBarButtonItem) {

    self.navigationController!.splitViewController?.toggleMasterView()

}

故事板: Storyboard 提前谢谢。

1 个答案:

答案 0 :(得分:3)

@IBAction func do_ShowMaster(sender: BaseUIBarButtonItem) {

    self.splitViewController?.preferredDisplayMode = UISplitViewControllerDisplayMode.allVisible 

}