swift - 打开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()
})
}
}
解决方案
设置
@State var loginPresented = false
一开始就解决了问题。
推荐阅读
- reactjs - 如何从特定屏幕中删除标签栏?
- c - 如何解决 C 中的 libcurl 错误(Curl_easy_perform 43)
- wix - Wix Bootstrapper(Burn)标签的条件显示
- python - Subprocess.run 不适用于 ssh-copy-id
- google-sheets - 如何在 Google 表格中使用数字格式来显示未简化的非约简分数?
- mockito - 即使我认为我没有提供正确的模拟,为什么测试用例仍然通过
- java - JAVA SpringBoot:当在 Docker 中时,liquibase 插件运行时出现错误并且不执行更改日志
- android - 安装 react-native-router-flux 后出错
- vue.js - 使用 vee-validate 验证 vue-select
- git - 使用 git merge --continue 而不是 git rebase --continue