ios - 飞溅动画完成后更改 View Controller

标签 ios iphone swift uiviewcontroller splash-screen

我试图在应用程序首次启动时在黑屏上运行启动动画,然后过渡到初始 View Controller 。为此,我将 launchscreen.storyboard View Controller 设置为黑色,然后在我创建的 didFinishLaunchingWithOptions 中将动画作为 subview (如下所示)在 appDelegate 中运行。目前,该应用程序在黑屏上启动,动画淡入、休眠和淡出正确,但即使初始 View Controller 设置为空白背景,也会停留在黑屏上。我已经尝试了多个完成 block 来将应用程序发送到下一个 View Controller ,例如删除 subview 或尝试再次使用 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
}

最佳答案

let storyboard = UIStoryboard(name: "Main", bundle: nil)

let initialViewController = storyboard.instantiateViewControllerWithIdentifier("HomeView") as UIViewController

self.window?.rootViewController = initialViewController
self.window?.makeKeyAndVisible()

这会设置 Storyboard的一个实例,然后就像您对 launchscreen 所做的那样,只需将哪个 VC 设置为初始。

关于ios - 飞溅动画完成后更改 View Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40431488/

相关文章:

iOS 高 rebase /绑定(bind)时间

ios - 在 Twitter App IOS 上打开链接

iPhone 在运行时创建 SQLite 数据库?

ios - Xcode 8.1 选择仅显示 iPhone 7 和 7s 的初始设备 View

ios - iOS本地通知

objective-c - 如何将数据写入现有的 plistfile?

ios - 无法使用 Facebook 共享链接内容向网址添加描述和标题

ios - 基于点击坐标的MKpolygon

swift - 二元运算符 '|' 不能应用于类型 'Int' 和 'UInt8' 的操作数

objective-c - 如何在 iPhone 上将二进制文件转换为 pdf 文件?