SwiftUI 2.0-是否有办法确保加载程序视图在加载大视图时首先可见?

SwiftUI 2.0-是否有办法确保加载程序视图在加载大视图时首先可见?,swiftui,Swiftui,我有一个自定义加载程序,它通过UserDefaults变量显示/隐藏,但有时加载程序即使在加载大视图时也不可见。我以UserDefaults为例,快速说明这是一个全局变量。这也不适用于可观察/环境对象 我最初的猜测是,我正在用大视图阻塞主线程。我试着用懒散的态度纠正这个问题,但问题仍然存在 这是一个不完美的例子 e、 g struct MainView:View{ @AppStorage(“isLoading”)变量isShowingSubview:Bool=false var body:一些观

我有一个自定义加载程序,它通过UserDefaults变量显示/隐藏,但有时加载程序即使在加载大视图时也不可见。我以UserDefaults为例,快速说明这是一个全局变量。这也不适用于可观察/环境对象

我最初的猜测是,我正在用大视图阻塞主线程。我试着用懒散的态度纠正这个问题,但问题仍然存在

这是一个不完美的例子

e、 g

struct MainView:View{
@AppStorage(“isLoading”)变量isShowingSubview:Bool=false
var body:一些观点{
ZStack{
VStack{
按钮(操作:{self.isShowingSubview=true}{
文本(“\(i)”)
}
}
如果self.isShowingSubview==true{
FooView()
}
如果self.isShowingSubview==true{
CustomLoader()
}
}
}
}
结构视图:视图{
@AppStorage(“isLoading”)变量isShowingSubview:Bool=false
var body:一些观点{
ZStack{
VStack{
文本(“Foobar”)
ForEach(0。。
struct MainView: View {
    @AppStorage("isLoading") var isShowingSubview: Bool = false

    var body: some View {
        ZStack {
            VStack {
                Button(action: { self.isShowingSubview = true } {
                    Text("\(i)")
                }
            }

            if self.isShowingSubview == true {
                FooView()
            }

            if self.isShowingSubview == true {
                CustomLoader()
            }
        }
    }
}

struct FooView: View {
    @AppStorage("isLoading") var isShowingSubview: Bool = false

    var body: some View {
        ZStack {
            VStack {
                Text("Foobar")
                ForEach(0..<1000) { i in
                    Button(action: { print(i) } {
                        Text("\(i)")
                    }
                }
            }.onAppear { self.isShowingSubview = false }
        }
    }
}