【问题标题】:When change root view controller, initial view controller is displaying for one or half second更改根视图控制器时,初始视图控制器显示一秒或半秒
【发布时间】:2017-11-17 22:34:31
【问题描述】:

在应用程序中,FIRSTViewController 是从情节提要中设置的初始视图控制器。那里提供登录、注册等选项。登录屏幕从中呈现:

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)在显示选项卡栏之前显示一秒或半秒。

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

【问题讨论】:

  • 问题是首先你关闭呈现的 ViewController,然后你将 UITabBarController 设置为 rootViewController

标签: ios swift swift2 rootviewcontroller


【解决方案1】:

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

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

要解决这个问题,您不能将 FirstViewController 设置为 Initial,您可以将其他“空”视图控制器设置为 Initial,然后重定向到 Login/register 或 Tab ViewController,在 Initial ViewController 中,您可以将 ImageView 设置为带有午餐图像的屏幕,所以用户不会知道显示了一些控制器,它看起来像午餐屏幕是钢显示的。

【讨论】:

  • 谢谢,但是当从登录重定向到标签栏控制器时,我们不想显示任何其他空白视图控制器或任何其他午餐图像视图。
猜你喜欢
  • 2016-06-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多