在一个简单的应用程序中,只显示一个拆分视图控制器,在显示主/详细信息之前显示用户登录的最佳方式是什么,一旦确认登录,就显示拆分视图控制器的主控/详情?
在没有混乱的视图层次结构的情况下,是否有一种优雅的方法来处理它?</ p>
我使用IB来构建视图,但也欢迎使用程序化解决方案。
答案 0 :(得分:0)
我会在启动时显示一个模态视图,然后您可以使用登录字段进行配置。这允许您将拆分视图保留为根视图。在AppDelegate&#39; didFinishLaunchingWithOptions
中,您可以添加以下内容:
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let modalView = storyboard.instantiateViewController(withIdentifier: "startupView")
modalView.modalPresentationStyle = .formSheet
splitViewController.present(modalView, animated: true, completion: nil)
配置拆分视图后。这将呈现一个带有标识符&#34; startupView&#34;然后可以在Storyboard中配置它。
编辑 - 如果您不希望用户在登录前看到任何主/详细内容,您可能还希望将模态视图设置为页面表或模糊背景。
答案 1 :(得分:-1)
登录成功后,将窗口的根目录设置为SplitViewController:
let splitVC = UISplitViewController()
let window = UIApplication.shared.windows.first
window?.rootViewController = splitVC