Skip to content

给单个视图添加动画

当我们在一个视图上使用 animation(_:) 修饰符时, SwiftUI 会动态的修改这个视图的可动画属性。一个视图的颜色、透明度、旋转、大小以及其他属性都是可动画的。

第 1 步

HikeView.swift 中,通过添加一个在 showDetail 值变化时开始的 animation 修饰符,为按钮的旋转打开添加动画。

第 2 步

添加一个在图表显示时让按钮变大的动画。

animation(_:) 会作用于视图所包装的所有动画的修改。

第 3 步

将动画类型从 easeInOut 改为spring()

SwiftUI 包含带有预设或自定义缓动的基本动画,还有弹性和流体的动画。我们可以调整动画的速度,在动画开始之前设置延迟,或指定动画的重复。

第 4 步

试着在 scaleEffect 方法上方添加另一个动画方法来关闭旋转动画。

试着用 SwiftUI 尝试结合不同的动画效果,看看都有哪些效果。

第 5 步

在继续下一节前,把上文添加的两个 animation(_:) 修饰符删除。

给单个视图添加动画 has loaded