ios - List 渲染时加载屏幕 - SwiftUI
问题描述
我正在从 API 获取一些视频,并制作了一个动画加载屏幕,在获取数据时显示。收到数据后,我想在列表中显示视频。“渲染”列表中的视频需要相当长的时间,并且在获取数据后加载屏幕停止。
有没有办法在 Swift 在后台“制作”列表页时显示加载屏幕?
这是我的代码:
import SwiftUI
struct ListExample: View {
@State var loaded: Bool = false
@State var serverData2 = ServerMessage(SavedClips: [], SentryClips: [])
@State var SavedClips2: Array<String> = []
var body: some View {
NavigationView {
if loaded {
List(self.SavedClips2, id: \.self) { string in
NavigationLink(destination: DetailedVideo(url: string)) {
VideShow(url: string, thumbnail: string)
}
}
}
else {
LoadingPage()
}
}.onAppear() {
self.manager.postAuth(car_name: self.name) { (posts) in
self.serverData2 = posts
self.loaded = true
}
}
}
}
struct TestFile_Previews: PreviewProvider {
static var previews: some View {
TestFile()
}
}
解决方案
推荐阅读
- ios - 在设备上运行时,请参阅 Xcode 中 React Native 应用程序的 console.log
- node.js - jit-grunt:未找到“watch”任务的插件
- python - os.listdir() - 根据条件从返回的列表中随机选择
- c# - 在 ASP.NET Core MVC webapp 中在经过身份验证的用户的上下文中查询 AD
- ios - iOS 中的 UIViewController 和 UIView 生命周期
- sql-server - 存储过程中的存储过程 NVARCHAR 输出值
- c# - 找不到文件或参考
- javascript - 如何在使用 OpenLayers 修改结束之前减慢鼠标速度
- google-maps - Google 地图 API - 自动完成后从图层(json 或 kml)中检索数据
- c# - 如何在 asp.net core 中按版本和组拆分 swagger API 文档