在我的应用程序中,首次使用该应用程序时,会将用户带到特定的视图控制器(TutorialPageViewController)。每隔使用一次,用户就会被带到另一个视图控制器(HomeViewController)。
为此,我创建了第三个视图控制器(FirstBlankViewController),在其中显示应用程序徽标一秒钟。在那一秒之后,我调用了适当的视图控制器。此方法有效,但是在打开应用程序时,瞬间,您会看到错误的视图控制器(即TutorialPageViewController或HomeViewController),然后打开第一个,然后在第二秒钟后,它会执行正确的操作。
但是为什么在FirstBlankViewController(设置为初始视图控制器)之前会出现任何内容。即使一瞬间,它也不会出现。
这是FirstBlankViewController中的代码:
override func viewDidLoad() {
super.viewDidLoad()
DispatchQueue.main.asyncAfter(deadline: .now() + 1.0, execute: {
let launchedBefore = UserDefaults.standard.bool(forKey: "launchedBefore")
if launchedBefore {
print("Not first launch.")
let storyBoard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let newViewController = storyBoard.instantiateViewController(withIdentifier: "HomeViewController") as! HomeViewController
self.present(newViewController, animated: false, completion: nil)
} else {
print("First launch")
self.dismiss(animated: false)
let storyBoard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let newViewController = storyBoard.instantiateViewController(withIdentifier: "TutorialPageViewController") as! TutorialPageViewController
self.present(newViewController, animated: false, completion: nil)
}
})
}
我希望清楚!
谢谢
答案 0 :(得分:1)
闪烁是每个应用(包括系统应用)发生的iOS错误/功能。它是一个缓存系统,显示来自应用程序的屏幕截图。它试图复制应用程序的最后状态,但是,它远非完美。请注意,无论您是否设置了启动屏幕/启动图像,都会发生闪烁。
只需忽略它,然后继续前进即可。