как выйти из цикла и перейти в ContentView swiftUI

Экран подключения, регистрация и восстановление пароля. Я работаю над этим ссылочным проектом. Как я могу перейти к ContentView после входа в систему? Как мне выйти из цикла и перейти к ContentView? Буду рад, если поможете..

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 изменяется, представления воссоздаются заново, чтобы соответствовать текущим значениям.

Другие вопросы по тегам