【发布时间】:2017-08-22 09:57:32
【问题描述】:
我有一个视图控制器,在数组中包含大量图像。当我按下将我带到 View Controller 的按钮时,加载大约需要 8-15 秒。现在我想制作一个加载屏幕,这样每次应用启动时,视图控制器都应该在后台加载。
我该怎么做?
谢谢!
【问题讨论】:
-
你可以试试下面的answer
标签: ios swift uiviewcontroller
我有一个视图控制器,在数组中包含大量图像。当我按下将我带到 View Controller 的按钮时,加载大约需要 8-15 秒。现在我想制作一个加载屏幕,这样每次应用启动时,视图控制器都应该在后台加载。
我该怎么做?
谢谢!
【问题讨论】:
标签: ios swift uiviewcontroller
与最终用户体验相关的最佳方法是使用活动指示器。
您应该将其正常添加到您的 ViewController 并将其与您的 swift viewController'file 相关联。
当加载开始时,你必须开始“旋转”你的活动指示器:通过这种方式用户“理解”“一些东西将在一段时间内加载”。
加载完成后,您必须将其隐藏。
此外,如果您想确保在 加载视图控制器本身之后添加图像,请通过 viewWillAppear 方法加载它们,而不是 viewDidLoad!
【讨论】:
不要在 ViewDidLoad() 中加载图像
使用它来加载图像
DispatchQueue.main.async {
}
【讨论】:
希望这对您的后台队列和主队列操作有帮助!!!!
func bgQueue(queueName: String, completion codeBlock: @escaping ((Bool) -> Void)) {
DispatchQueue.global(qos: .background).async {
codeBlock(true)
}
}
func mainQueue(codeBlock: @escaping ((Bool) -> Void)){
DispatchQueue.main.async {
codeBlock(true)
}
}
【讨论】: