【问题标题】:swiftui transition between two view两个视图之间的swiftui转换
【发布时间】:2021-12-28 20:02:21
【问题描述】:

我正在实现登录视图和主页视图这两个视图之间的转换,因此当我按下登录按钮时,var vm.currentUserSignedIn(保存在视图模型中的应用程序存储中)变为 true,我希望创建一个在登录视图离开时转换,但我不明白为什么我看不到它。

这里是代码

struct LoginView: View {
    @State private var emailTextField: String = ""
    @State private var passwordTextField: String = ""
    @StateObject var vm: LoginViewModel = LoginViewModel()
    
    var body: some View {
        ZStack {
            ZStack{
                NavigationView{
                    HomeView(vmLogin: vm)
                }
                
                ZStack{
                    if !vm.currentUserSignedIn {
                        loginView
                        .transition(.move(edge: .leading))
                    }
                    
                    if vm.isLoading {
                        Loading()
                    }
                }
                .zIndex(2.0)

            }
        }
    }
}

谢谢

【问题讨论】:

标签: swiftui


【解决方案1】:

尝试动画,比如

    ZStack{
        if !vm.currentUserSignedIn {
            loginView
            .transition(.move(edge: .leading))
        }
        
        if vm.isLoading {
            Loading()
        }
    }
    .zIndex(2.0)
    .animation(.default, value: vm.currentUserSignedIn)  // << here !!

【讨论】:

  • 是的!!!谢谢你,它工作得很好。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-03-06
  • 2020-05-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多