作者:Ole Begemann,原文链接,原文日期:2022 年 11 月 10 日 译者:轻舟
当 swiftUI 中的视图动画和我们的预期不符时,或许和
.animation
修饰符在视图树中的位置以及“需渲染”和“无需渲染”两种类型的视图修饰符有关。首先让我们看一下 SwiftUI 的 animation 修饰符 相关文档是怎么说的:
Applies the given animation to this view when the specified value changes.
当特定的依赖项发生改变时,将设置的动画效果应用到这个视图。
这个说法听起来很明确:
.animation
的作用是给当前的视图设置动画,当设置的依赖项发生改变时,这个视图就会产生对应的动画效果。这看起来可以让我们完全控制我们想要的动画属性,对吧?但是实际上事情并没有那么简单:开发过程中很容易遇到想加动画加不上,不想加动画自己动的情况。