拆分视图(UISplitViewController)是否可以在横向模式下用于IPhone 5,6,8等非超大号IPh?

问题描述 投票:0回答:1

我正在使用包含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
ios iphone uisplitviewcontroller swift4 landscape-portrait
1个回答
0
投票

在文档之后,它看起来像是可能的:

在水平常规环境中,分割视图控制器尽可能并排显示其视图控制器。在水平紧凑的环境中,分割视图控制器更像是导航控制器,最初显示主视图控制器并根据需要推送或弹出辅助视图控制器。您还可以通过为preferredDisplayMode属性赋值来要求拆分视图控制器更喜欢特定的排列。

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

© www.soinside.com 2019 - 2024. All rights reserved.