在应用程序中,FIRSTViewController 是从 Storyboard设置的初始 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
上面的代码工作正常,但问题是:当重定向到选项卡 View 时,初始 View Controller (FIRSTViewController)在显示选项卡栏之前显示一或半秒。
所以,我的问题是: 如何防止初始 View Controller 显示?
最佳答案
这可能是因为此代码是在加载 InitialViewController 之后执行的
let desViewController = selfVC.storyboard!.instantiateViewControllerWithIdentifier("UITabBarController") as! UITabBarController
UIApplication.sharedApplication().keyWindow?.rootViewController = desViewController
要解决该问题,您不能将 FirstViewController 设置为初始,您可以将一些其他“空” View Controller 设置为初始并重定向到登录/注册或选项卡 ViewController,在初始 ViewController 中您可以将 ImageView 设置为带有午餐图像的屏幕,所以用户不会知道显示了某个 Controller ,它看起来就像午餐屏幕是钢显示的。
关于ios - 当更改 Root View Controller 时,初始 View Controller 显示一秒或半秒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44567385/