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

Posted

技术标签:

【中文标题】如何以编程方式显示 UISplitViewController Master?【英文标题】:How to show UISplitViewController Master programmatically? 【发布时间】:2016-08-15 18:27:29 【问题描述】:

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

该应用程序是通用的。我有一个关于大师的 TVC 和另一个关于细节的 TVC。用户可以删除 detail-TVC 上的单元格。用户删除 iPhone(紧凑型)上 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)
    

为了测试在细节-TVC的导航栏上添加了一个“显示”按钮并执行了上面的功能。

@IBAction func do_ShowMaster(sender: BaseUIBarButtonItem) 

    self.navigationController!.splitViewController?.toggleMasterView()


故事板: 提前谢谢你。

【问题讨论】:

像魅力一样工作:***.com/questions/27540268/… 但为什么上面的方法不起作用? 【参考方案1】:
@IBAction func do_ShowMaster(sender: BaseUIBarButtonItem) 

    self.splitViewController?.preferredDisplayMode = UISplitViewControllerDisplayMode.allVisible 


【讨论】:

以上是关于如何以编程方式显示 UISplitViewController Master?的主要内容,如果未能解决你的问题,请参考以下文章

如何以编程方式显示/隐藏导航抽屉

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

如何以编程方式显示图像水平 UIscrollView

如何以编程方式显示/推送导航控制器

如何以编程方式向下滑动UITableView以显示底层的UIRefreshControl

如何在显示旋转时以编程方式更改布局约束