ios - 登录后如何在 SwiftUI 中显示新视图
问题描述
我需要知道谁使用 SwiftUI(遵循 MVVM 设计模式)呈现新视图。
例如,一旦用户输入凭据进行登录,按下“登录”按钮应该会将他们带到应用程序的主页,而无法返回登录页面。
我一直在查看来自 Apple 的文档以及 Stackoverflow 中的其他问题,但它们似乎都在使用导航视图(即顶部有一个导航栏,允许用户返回上一个视图)。
下面是我将如何使用 UIKit 完成此操作的代码,以及一个直观地表示我想要完成的图像的图像。
let vc = MainMenuController()
vc.modalPresentationStyle = .fullScreen
self.present(vc, animated: true, completion: nil);
解决方案
这就是我在我的代码中实现它的方式ContentView.swift
:
@State var loggedIn: Bool = false
var body: some View {
VStack {
if loggedIn {
ShowSomeTabView()
} else {
ShowLoginScreen()
}
}.onAppear {
self.checkAuthorized()
}
}
private func checkAuthorized() {
if loggedIn() {
self.loggedIn = true
}
}
推荐阅读
- angular - 如何每 2 分钟触发一次 Web 服务调用
- linux - 无法在 ubuntu 18 中打开 PyRx 软件
- mongodb - 在猫鼬非严格模式中保存非模式字段对我不起作用
- xcode - SwiftUI / imagepicker / firebasefirestore - 图像上传正确但离开图像选择器视图时不刷新
- flutter - 无法在 Visual Studio 代码中打开 Android 模拟器,出现错误,找不到任何修复
- amazon-web-services - 如何在 ClickHouse 中定期插入数据
- c - 在 c 中打印输出居中对齐的解决方案
- r - 基于条件语句在列表中存储多个变量
- css - 字体文本边界大于文本内容
- c++ - 在c ++中删除对象是否也会删除对象中包含的指针引用的其他对象