首页 > 解决方案 > 如何将我的登录屏幕链接到我的主屏幕 SwiftUI

问题描述

我坚持将我的登录屏幕链接到我的主屏幕。两者都是单独创建的,我已经使用 Button 功能创建了登录按钮,它会使用我登录的电子邮件进入另一个屏幕,但这不是我想要的,因为我希望我的主屏幕打开。

             Button(action: model.login) {
                     Text("LOGIN")
                    .fontWeight(.bold)
                    .foregroundColor(Color("Color1"))
                    .padding(.vertical)
                    .frame(width: UIScreen.main.bounds.width - 30)
                    .background(Color.white)
                    .clipShape(Capsule())
            }
            .padding(.top, 22)

我的 MainView 代码开始

     struct MainView: View {
     @State private var isShowing = false
  
     var body: some View {
  
     NavigationView {
          
     ZStack {

标签: swiftuiuibutton

解决方案


在您的App结构中添加一个StatevarisLoggedin将其传递给 theloginView并从那里切换它。

这就是我实施的方式。

struct TestApp: App {
    
    @State var isLoggedin: Bool = false
    
    var body: some Scene {
        
        WindowGroup {
            if isLoggedin {
                ContentView()
            } else {
                LoginView(isLoggedin: $isLoggedin)
            }
        }
    }
}
struct LoginView: View {
    
    @Binding var isLoggedin: Bool
    
    var body: some View {
        
        Button(action: {
            isLoggedin = true
        }, label: {
            Text("Login")
        })
    }
}

这样您就可以选择要显示的视图。ContentViewLoginView.


推荐阅读