我希望仅在触发器为true时触发动画,而不总是在它更改时触发动画。
我没有看到任何这样做的来源,这是可以实现的吗?
Label("Test", systemImage: "magnifyingglass")
.keyframeAnimator(
initialValue: AnimationValues(),
trigger: animationIsActive
) { content, frame in
content
.scaleEffect(frame.scale)
} keyframes: { _ in
KeyframeTrack(\.scale) {
LinearKeyframe(0.5, duration: 0.1)
LinearKeyframe(1.5, duration: 0.1)
LinearKeyframe(1.0, duration: 0.1)
}
}
字符串
1条答案
按热度按时间gmxoilav1#
你的意思是,动画应该只发生在布尔触发器从false变为true时,而不是从true变为false时?如果是这样,那么你可以在内容视图构建器闭包中有条件地应用缩放。
就像这样:
字符串
或者,如果你的意思是如果标志为true,它应该连续动画,而当标志为false时,它根本不动画,那么你只需要使用
keyframeAnimator(initialValue:repeating:content:keyframes:)
,并以相同的方式有条件地应用缩放:型