我正在使用包含UISplitViewController的Master-Detail模板。 对于正尺寸Iphone横向模式,splitviewcontroller会自动将视图分为两部分。左侧为主视图控制器,右侧为详细视图控制器。
这个场景适用于iPhone 5,6,8,X,适用于IPhone 6 +,8 +等大小。
以下是SplitView委托方法的代码。
func splitViewController(_ splitViewController: UISplitViewController, collapseSecondary secondaryViewController:UIViewController, onto primaryViewController:UIViewController) -> Bool
guard let secondaryAsNavController = secondaryViewController as? UINavigationController else { return false }
guard let topAsDetailController = secondaryAsNavController.topViewController as? DetailViewController else { return false }
if topAsDetailController.selectedEvent == nil {
// Return true to indicate that we have handled the collapse by doing nothing; the secondary controller will be discarded.
return true
}
return false
答案 0 :(得分:0)
根据文档,它看起来像是可能的:
在水平常规环境中,拆分视图控制器 尽可能并排显示其视图控制器。在一个 水平紧凑的环境,拆分视图控制器的作用更大 像导航控制器一样,显示主视图控制器 最初并将辅助视图控制器推送或弹出为 需要。您还可以要求拆分视图控制器更喜欢a 通过为 preferredDisplayMode 指定值来进行特定安排 属性。
如果第一个不起作用,请尝试将preferredDisplayMode
设置为allVisible
或primaryOverlay
。