代码之家  ›  专栏  ›  技术社区  ›  meaning-matters

如何让脚本上的UISplitViewController首先显示主视图?

  •  0
  • meaning-matters  · 技术社区  · 5 年前

    如何确保在应用程序启动时显示主视图?有没有办法把它安排在故事板上?

    0 回复  |  直到 5 年前
        1
  •  1
  •   Pranav Kasetti    5 年前

    为了使主视图在默认情况下在iPhone上折叠,请重写某些委托方法:

    class SplitViewController : UISplitViewController {
        override func viewDidLoad() {
            super.viewDidLoad()
            self.delegate = self
        }
    }
    
    extension SplitViewController : UISplitViewControllerDelegate {
    
        // The default for this is .secondary!!
        @available(iOS 14.0, *)
        public func splitViewController(_ svc: UISplitViewController, 
            topColumnForCollapsingToProposedTopColumn 
            proposedTopColumn: UISplitViewController.Column) -> UISplitViewController.Column {
            return .primary
        }
    
        // default is false!
        public func splitViewController(_ splitViewController: UISplitViewController,
                                 collapseSecondary secondaryViewController:UIViewController,
                                 onto primaryViewController:UIViewController) -> Bool {
            return true
        }
    }
    

    以前你会用 preferredDisplayMode = .primaryOverlay