OGeek|极客世界-中国程序员成长平台

标题: ios - UISplitViewController:从紧凑旋转到常规时如何防止扩展 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 11:55
标题: ios - UISplitViewController:从紧凑旋转到常规时如何防止扩展

补充问题有很多答案,即如何防止在从 RegularCompact 界面更改时过渡到 PrimaryOverLay ,例如使用

func splitViewController(splitViewController: UISplitViewController, collapseSecondaryViewController secondaryViewController: UIViewController, ontoPrimaryViewController primaryViewController: UIViewController) -> Bool

就我而言,我有一部 iPhone 6+,其详细 View 以纵向显示。当我将设备旋转到水平位置时(CompactRegular),我希望主视图保持隐藏状态。我尝试在很多地方将 preferredDisplayMode 设置为 .PrimaryHidden ,但没有明显影响。谷歌搜索一无所获。



Best Answer-推荐答案


好吧,在我写完问题之后,但在发布之前,我绊倒了 possible solution ,即覆盖 Split View Controller 引用的特征集合。

我接受了这个想法并决定继承 UISplitViewController,并覆盖 traitCollection 属性。成功了:

final class MySplitViewController: UISplitViewController {
  var didOnce = false
  override var traitCollection: UITraitCollection {
    let old = super.traitCollection
    let change = UITraitCollection(horizontalSizeClass: .Compact)
    let new = UITraitCollection(traitsFromCollections: [old, change])
    return new
  }

显然,这是为一台设备硬编码的 - 稍后我会添加一些函数,我可以使用这些函数来控制实际返回的内容。

关于ios - UISplitViewController:从紧凑旋转到常规时如何防止扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33151380/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://jike.in/) Powered by Discuz! X3.4