从 iOS 17 开始,SF 符号 SF Symbols 加入了动画支持。要给 SF 符号 添加动画,我们需要使用 symbolEffect 修饰符来进行动画效果配置,它的配置参数。
效果预览

symbolEffect 修饰符说明
scaleEffect 的动画选项有以下几种:
automatic自动appear显示、出现动画disappear消失动画bounce缩放、反弹效果,跳动动画pulse脉冲淡化动画replace替换效果scale缩放动画variableColor变色动画
示例代码
struct AnimatedSFSymbols : View {
@State private var animate = false
var body: some View {
Image (systemName: "alarm.waves.left.and.right.fill" )
.symbolEffect(.bounce, value: animate)
.font(20)
.onTapGesture {
animate.toggle()
}
}
}这样配置的动画只有当点击图像时才会出现一次,如果要想循环重复执行动画, .symbolEffect 修饰符附加使用 options 参数,它的传值要求是 SymbolEffectOptions 类型的实例,可以用它来定义动画效果。
重复执行
.symbolEffect(.bounce, options: .repeating, value: animate) SymbolEffectOptions 有以下值:
重复效果
.repeating无限期重复的效果.nonRepeating不重复.repeat(Int)指定重复次数
动画速度
.speed(Double) 动画效果速度
.symbolEffect(.variableColor, options: .repeat(2), value: animate) 本文自 https://www.codeun.com 发布,相应代码均自主编写并严格审阅和测试,完整代码中包含丰富的学习笔记和使用方式、实用技巧。
· 如若转载,请注明出处:https://www.codeun.com/archives/1224.html ·