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