从iOS 15.0开始,苹果废弃了之前的.animation(Animation?)
,建议开发者使用.animation(Animation?, value: Equatable)
或者withAnimation
替代。
个人感觉改版之后虽然可能有些不习惯,但是开发的可能性和自由度更大了。
但是在讲二者区别之前,我们需要了解一下UI动画。如果你了解这部分可以跳过。
何为动画动画是由各种位移、颜色变化、大小变化等属性变化的过程。
具体到SwiftUI的View,就是它们的.offset
、.foregroundColor
、.frame
等属性逐渐变化的时候产生的效果。
但是如果你直接改变变量,属性会直接变化,非常生硬,这不能被称为动画。苹果提供了非常简单的实现过度动画的办法,那就是.animation
。
可以理解成我们设定好关键帧,然后设置中间帧就可以做出动画啦!
不同样式的过度动画(中间帧)苹果提供了很简单的方式,但是或许是太简单了,就没有人详细说说这个。
首先动画运动节奏也分很多种,例如缓进缓出、匀速运动等,所以这里介绍一下苹果提供的几种模式(如果是nil
就是无动画):
具体的代码后面会列出来,因
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)