【发布时间】:2018-12-25 08:32:08
【问题描述】:
我有一个 initialViewController,如果我找到用户登录信息,我会将用户路由到 Home,但如果没有,我将注册/登录 ViewController 设置为 root。我测试了我的注册/登录 ViewController didLoad 和 didAppear 执行的断点,但是我的注册/登录 ViewController 没有显示并且 initialViewController 保留在屏幕上。这是我的代码:
public static func setRootViewController(withId id: String, storyBoardName: String) {
let mainStoryboard: UIStoryboard = UIStoryboard(name: storyBoardName, bundle: nil)
let newRootVC = mainStoryboard.instantiateViewController(withIdentifier: id)
appDelegateRef.window!.rootViewController = newRootVC
}
这是我故事板的一部分:
这里有什么问题?
【问题讨论】:
-
你在哪里调用
setRootViewController方法? -
我有一个包含几个静态方法的类,我在 initialViewController 的 willAppear 中使用“static func logoutUser()”,在 logoutUser 中调用“setRootViewController”。
-
setRootViewController是否调用了主队列? -
我将 logoutUser() 调用移至 viewDidAppear 并解决了问题。
标签: ios swift rootviewcontroller