繁体   English   中英

非横向尺寸的iPhone(例如iPhone 5、6、8等)是否可以在横向模式下使用拆分视图(UISplitViewController)?

[英]Is split view (UISplitViewController) possible in landscape mode for non plus size IPhones like IPhone 5, 6, 8 etc.?

我有包含UISplitViewController的主从模板。 对于大尺寸Iphone横向模式,splitviewcontroller会自动将视图分为2部分。 左侧为主视图控制器,右侧为详细视图控制器。

此Scenerio不适用于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

遵循文档,看起来是可能的:

在水平规则的环境中,拆分视图控制器会尽可能并排显示其视图控制器。 在水平紧凑的环境中,拆分视图控制器的行为更类似于导航控制器,首先显示主视图控制器,然后根据需要推入或弹出辅助视图控制器。 您还可以通过将值分配给preferredDisplayMode属性来要求拆分视图控制器选择特定的排列方式。

如果第一个不起作用,请尝试将preferredDisplayMode设置为allVisibleprimaryOverlay

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM