首页 > 解决方案 > 打开IOS应用程序时全屏封面闪烁

问题描述

所以基本上在我的 SwiftUI 应用程序中,有一个登录屏幕,如果您已经登录,那么您将转到HomeView(). 如果没有,那么你留在LoginView(). 但是,每次我打开应用程序时,.fullScreenCover 都会在.onAppear{}声明意识到该封面消失之前闪烁。这是代码:

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()
    })

}

}

标签: swiftswiftui

解决方案


设置

@State var loginPresented = false

一开始就解决了问题。


推荐阅读