0
我試圖在首次啓動應用程序時在黑屏上運行飛濺動畫,然後轉換到初始視圖控制器。爲此,我將launchscreen.storyboard視圖控制器設置爲黑色,然後在我創建的didFinishLaunchingWithOptions中將動畫作爲appDelegate中的子視圖(如下所示)運行。目前該應用程序在黑屏上啓動,動畫淡入,淡入淡出,然後保持黑屏,即使初始視圖控制器設置爲空白背景。我嘗試了多個完成塊來將應用程序發送到下一個視圖控制器,例如刪除子視圖或試圖再次使用rootViewController強制它,但沒有這樣的運氣。我很確定這只是我需要的一行代碼,但我似乎無法弄清楚。飛濺動畫完成後更改視圖控制器
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
self.window = UIWindow(frame: UIScreen.main.bounds)
let imageView = UIImageView(frame: self.window!.frame)
imageView.loadGif(name: "splashanimation")
imageView.alpha = 0.0
self.window!.addSubview(imageView)
let emptyView = UIViewController()
self.window?.rootViewController = emptyView
self.window!.makeKeyAndVisible()
UIView.animate(withDuration: 1.0, animations: {imageView.alpha = 1}, completion: { (value: Bool) in UIView.animate(withDuration: 1.0, animations: {sleep(UInt32(1.5))}, completion: { (value: Bool) in UIView.animate(withDuration: 2.0, animations: {imageView.alpha = 0}, completion: {
** SOMEHOW OPEN THE FIRST VIEW CONTROLLER **
})})})
UIApplication.shared.isStatusBarHidden = true
return true
}
謝謝你完美的作品! – dulongj