SwiftUI 动画

  • SwiftUI中, 你可以将任意的改变过程封装进一个withAnimation块中. 默认, SwiftUI会对这种改变采用fade in/out的方式进行动画.

效果:

animation.gif

实例代码:

import SwiftUI

struct AnimationView: View {
    
    @State private var showDetail = false
    
    var body: some View {
        Button(action: {
            withAnimation {
                self.showDetail = !self.showDetail
            }
        }) {
            Image(systemName: "chevron.right.circle")
                .imageScale(.large)
                .rotationEffect(.degrees(showDetail ? 90 : 0))
                .scaleEffect(showDetail ? 1.5 : 1)
                .padding()
        }
    }
}

struct AnimationView_Previews: PreviewProvider {
    static var previews: some View {
        AnimationView()
    }
}

替换SceneDelegate的根视图

let contentView = AnimationView()

你可能感兴趣的:(SwiftUI 动画)