登录后如何在 SwiftUI 中显示新视图
Posted
技术标签:
【中文标题】登录后如何在 SwiftUI 中显示新视图【英文标题】:How to present new view in SwiftUI after login 【发布时间】:2020-06-02 04:20:04 【问题描述】:我需要知道谁使用 SwiftUI(遵循 MVVM 设计模式)呈现新视图。
例如,一旦用户输入凭据进行登录,按下“登录”按钮应该会将他们带到应用程序的主页,而无法返回登录页面。
我一直在查看 Apple 的文档以及 *** 中的其他问题,但它们似乎都在使用导航视图(即顶部有一个导航栏,允许用户返回上一个视图)。
下面是我将如何使用 UIKit 完成此任务的代码,以及一个直观地表示我想要完成的图像。
let vc = MainMenuController()
vc.modalPresentationStyle = .fullScreen
self.present(vc, animated: true, completion: nil);
Sample image of desired outcome
【问题讨论】:
【参考方案1】:这就是我在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
【讨论】:
谢谢你的回答,你在函数 ShowSomeTabView() 和 ShowLoginScreen() 中是做什么的?我认为这可能会回答我最初的问题。以上是关于登录后如何在 SwiftUI 中显示新视图的主要内容,如果未能解决你的问题,请参考以下文章
SwiftUI:如何在单击 ActionSheet 按钮时呈现新视图?