在 iOS 应用程序中显示启动图像但主线程未休眠

display splash image in iOS app but main thread not sleeping

您好,我有一个基于位置的 iOS 应用程序,我想在显示初始图像时允许主线程 运行(连接到服务器以检索信息等)。目前我将主线程设置为睡眠以在给定时间内显示启动图像。如何在保持主线程 运行 的同时显示启动图像几秒钟?

使用 ViewController 作为初始 viewcontroller 以及与启动情节提要相匹配的初始图像,并 show/present 在位置更新后的主要 viewcontroller 和其他任务完成。不要弄乱线程。所有 UI 都在主线程上,因此当您让主线程休眠时,整个应用程序都会停止。

如果您只想在特定时间显示初始图像和虚拟视图控制器,只需在 viewDidAppear 中使用延迟。

let when = DispatchTime.now() + 3 // Show for 3 seconds
DispatchQueue.main.asyncAfter(deadline: when) {
     // Present/Push/Segue to main app
}