小编lef*_*uce的帖子

SwiftUI 条件视图不会动画/过渡

我试图让我的视图使用.transition()on 视图进行动画/过渡。我从这里使用类似的代码并放入.transition()两个条件视图。

struct Base: View {
    @State private var isSignedIn = false

    var body: some View {
        Group {
            if(isSignedIn){
                Home().transition(.slide)
            }else{
                AuthSignin(isSignedIn: self.$isSignedIn).transition(.slide)
            }
        }
    }
}

struct AuthSignin: View {
    @Binding var isSignedIn: Bool

    var body: some View {
        VStack {
            Button(action: {
                self.isSignedIn = true
            }) {
                Text("Sign In")
                    .bold()
                    .frame(minWidth: CGFloat(0), maxWidth: .infinity)
                    .padding()
                    .background(Color.blue)
                    .foregroundColor(Color.white)
                    .cornerRadius(CGFloat(10))
            }.padding()
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,每当我单击“登录”按钮(有或没有.transition())时,应用程序都会冻结一秒钟,然后Home()视图会突然出现而没有任何动画/过渡。我也试过换行self.isSignedIn = true, …

xcode animation transition swift swiftui

16
推荐指数
2
解决办法
5198
查看次数

标签 统计

animation ×1

swift ×1

swiftui ×1

transition ×1

xcode ×1