为什么我的视图第一次出现在swiftUI

时间:2020-07-04 10:29:03

标签: swift animation swiftui transition

我希望在应用首次加载时将一个简单的视图从0缩放到1。但是它没有发生。在这里查看我的代码:

struct ContentView: View {
    
    @State private var isLoadng = false
    
    var body: some View {
        
        ZStack {
            if isLoadng {
                Color.red
                    .cornerRadius(20)
                    .frame(width: 150, height: 200)
                    .transition(.scale)
               
            }
            
            
        }
        
        .onAppear {
            withAnimation(.easeInOut(duration: 2)) {
                self.isLoadng = true
            }
        }
    }
}

视图只是弹出而没有任何过渡

1 个答案:

答案 0 :(得分:1)

这里是修改过的部分。经过Xcode 12测试

var body: some View {
    ZStack {
        if isLoadng {
            Color.red
                .cornerRadius(20)
                .frame(width: 150, height: 200)
                .transition(.scale)
        }
    }
    .animation(.easeInOut(duration: 2))
    .onAppear {
        self.isLoadng = true
    }
}