SwiftUI—使用withAnimation制作缩放和渐隐动画

2020-07-14  本文已影响0人  anny_4243

原文链接:https://github.com/fzhlee/SwiftUI-Guide#-%E7%AC%AC2%E8%8A%82opacitylinear-

通过scaleEffect、opacity和withAnimation方法,实现linear类型的缩放动画,并设置动画的时长为1秒,制作一份缩放和渐隐同时进行的动画效果
示例代码:

struct ContentView : View {
    
    @State var factor: Double = 1 //图像视图的缩放比例
    @State var alpha: Double = 1 //图像视图的不透明度

    var body: some View {
        Image("logo")
            .scaleEffect(CGFloat(factor))
            .opacity(alpha) //按照浮点属性的大小修改图像视图的不透明度
            .onTapGesture { //给图像视图绑定单点的手势,当用户点击图像视图时执行后面的代码
                withAnimation(.linear(duration: 1.0)) { //设置动画的时间曲线为线型,动画的时长为1秒
                    self.factor += 0.1 //将图像放大到1.1倍
                    self.alpha -= 0.2  //将图像不透明度减少0.2
                }
            }
    }
}
上一篇 下一篇

猜你喜欢

热点阅读