【发布时间】:2017-09-14 21:31:03
【问题描述】:
我正在尝试从应用程序委托的didFinishLaunchingWithOptions 更改根视图控制器,具体取决于用户是否登录。一旦我克服了这种情况,我将使用以下代码来更改根视图控制器:
self.window = UIWindow(frame: UIScreen.main.bounds)
self.window?.rootViewController = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "SWRevealViewController") as! SWRevealViewController
self.window?.makeKeyAndVisible()
但是,当我启动应用程序(使用有效的登录用户)时,模拟器首先显示登录屏幕(旧的根视图控制器)一秒钟,然后屏幕变黑大约 30 秒到一分钟,之前最终显示所需的视图控制器。
storyboard中的视图控制器结构如下:
SWRevealViewController -> 导航控制器 -> 所需的视图控制器(新根)
之所以以SWRevealViewController开头是因为否则滑动菜单会丢失。
对可能发生的事情有任何想法吗?
【问题讨论】:
-
你能设置
rootViewController之前你使窗口键可见吗? -
@NRitH 结果一模一样。
-
你能显示更多代码吗?查看您如何设置 loginViewController 以及触发您显示的此代码的原因会很有用。
标签: ios swift3 xcode8 swrevealviewcontroller