如何使用 SwiftUI 实现加载动画?

How do I implement a loading animation with SwiftUI?

我已经在 AfterEffects 中制作了一个动画,我认为 Lottie 可以将其转换为我可以用于我的应用程序的格式。我想知道的是,如何让应用程序在打开时开始执行此动画,直到应用程序完成加载?

加载时只显示动画视图而不是内容视图

示例:

struct ContentView: View {
    @State var isLoading = true
    
    var body: some View {
        VStack {
            if isLoading {
                LoadingView()
            } else {
                DoneLoadingView()
            }
        }.onAppear {
            DispatchQueue.main.asyncAfter(deadline: .now() + 2) {
                isLoading = false
            }
        }
    }
}

struct LoadingView: View {
    var body: some View {
        ProgressView()
    }
}

struct DoneLoadingView: View {
    var body: some View {
        VStack {
            Text("Hello, world!")
        }
    }
}