因此,基本上在我的SwiftUI应用程序中,有一个登录屏幕,如果您已经登录,则转到HomeView()
。如果没有,那么你就留在LoginView()
上。然而,每次我打开应用程序时,在.onAppear{}
语句意识到封面是时候消失之前,.fullScreenCover就会闪烁。这是代码:
struct HomeView: View {
@ObservedObject var fireViewModel = FirebaseViewModel()
@State var loginPresented = true
var body: some View {
ZStack {
VStack {
Text("You are already Signed in")
Button(action: {
fireViewModel.signOut()
}, label: {
Text("Sign Out")
})
}
}
.onAppear {
if fireViewModel.signedIn {
loginPresented = true
} else {
loginPresented = false
}
}
.fullScreenCover(isPresented: $loginPresented, onDismiss: nil, content: {
LoginView()
})
}
}
设置
@State var loginPresented = false
一开始就解决了问题。