【问题标题】:how to exit the loop and come to the ContentView swiftUI如何退出循环并来到 ContentView swiftUI
【发布时间】:2020-02-05 06:16:04
【问题描述】:

Onboarding screen, Signup and Password recovery我正在处理这个链接项目。 登录后如何进入ContentView?如何跳出循环进入ContentView? 如果你能帮忙,我会很高兴..

【问题讨论】:

    标签: swiftui swiftui-navigationlink swiftui-environment


    【解决方案1】:

    您可以使用 ZStack 覆盖不同的内容,并有条件地选择哪些是可见的。

    struct ContentView: View {
        @State var isLoggedIn = false
    
        var body: some View {
            ZStack {
                if self.isLoggedIn {
                    Text("You're In!")
                } else {
                    LoginView(isLoggedIn: self.$isLoggedIn)
                }
            }
        }
    }
    

    LoginView 更新状态以指示有效登录。

    struct LoginView: View {
        @Binding var isLoggedIn: Bool
    
        var body: some View {
            Button("Log in") {
                self.isLoggedIn = true
            }
        }
    }
    

    因为 SwiftUI 将视图呈现为状态的函数,所以没有运行循环来呈现登录视图,然后传递给其他内容。相反,所有可能的内容都会被描述,并且任何时候 @State 发生变化,都会重新创建视图以匹配当前值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-04-13
      • 1970-01-01
      • 2012-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多