更改根视图控制器时,初始视图控制器显示一秒或半秒

时间:2017-06-15 12:21:17

标签: ios swift swift2 rootviewcontroller

在应用程序中,FIRSTViewController是从故事板中设置的初始View Controller。登录,注册等选项在那里可用。登录屏幕显示在:

let destVC = self.storyboard?.instantiateViewControllerWithIdentifier("LoginIdentifier")
self.presentViewController(destVC!, animated: true, completion: nil)

当用户成功登录时,将其重定向到TabViewController:

let desViewController = selfVC.storyboard!.instantiateViewControllerWithIdentifier("UITabBarController") as! UITabBarController
    UIApplication.sharedApplication().keyWindow?.rootViewController = desViewController

上面的代码工作正常,但问题是:当重定向到标签视图时,初始视图控制器(FIRSTViewController)在显示标签栏之前显示一秒或半秒。

所以,我的问题是: 如何防止初始视图控制器显示?

1 个答案:

答案 0 :(得分:0)

这可能是因为这个代码是在加载了InitialViewController后执行的

 let desViewController = selfVC.storyboard!.instantiateViewControllerWithIdentifier("UITabBarController") as! UITabBarController
    UIApplication.sharedApplication().keyWindow?.rootViewController = desViewController

要修复该问题,您不能将FirstViewController设置为Initial,您可以将其他“空”View Controller设置为Initial并重定向到Login / register或Tab ViewController,在Initial ViewController中,您可以将ImageView设置为屏幕与午餐图像,所以用户不会知道某些控制器显示,它看起来像午餐屏幕是钢铁显示。