ios - 如何在 Swift Xcode iOS 中以编程方式延迟启动画面

标签 ios swift xcode splash-screen timedelay

我在 LaunchStoreyboardimageView 中放置了一个 image。如何以编程方式延迟图像时间?

这是 Launch Screen Guideline from Apple .

这是启动屏幕 View Controller 的代码:

import UIKit
class LaunshViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        self.delay(0.4)
    }

    func delay(_ delay:Double, closure:@escaping ()->()) {
        let when = DispatchTime.now() + delay
        DispatchQueue.main.asyncAfter(deadline: when, execute: closure)
    }
}

最佳答案

截至今天,Apple 还没有预定义方法来保持启动屏幕。这里有一些不是最佳但有效的方法

方法 #1 创建一个单独的 ViewController,它有 Launch 标志并创建一个计时器或执行一些操作(如数据库/加载一些基本的网络调用)取决于您的应用程序类型,这样您就可以事先准备好数据并按住还有启动屏幕:)

方法 #2 不是最优的

使用 sleep 代码让应用暂停一段时间。

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
        Thread.sleep(forTimeInterval: 3.0)
        // Override point for customization after application launch.
        return true
    }

关于ios - 如何在 Swift Xcode iOS 中以编程方式延迟启动画面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43276199/

相关文章:

Swift 4.2,Xcode Playground 中的 String firstIndex() 函数错误

iphone - 如何构建 iOS SQL 语句

android - 代号一 - 根据可用空间自动调整图像大小

ios - (iOS Swift parse.com) - 可以在 PFObject 子类中存储自定义对象吗?

ios - 来自 Swift Range 的 NSRange?

iOS/Swift - 向下/向上滚动时隐藏/显示 UITabBarController

swift - 在 VSTS 上的云托管 Mac 上的 Xcode 中构建错误

iphone - 如何使用 withVoice : argument in FliteController class? 放慢声音

ios - 有没有办法让键盘触发按钮按下?

ios - 快速访问数组中对象的属性,返回 nil