gpt4 book ai didi

快速使动画效果永久化

转载 作者:行者123 更新时间:2023-11-30 10:07:15 25 4
gpt4 key购买 nike

我环顾四周,但找不到这个简单问题的答案。有没有办法让 Swift CABasicAnimation 动画的效果永久存在? (这意味着当动画结束时, View 不会重置为动画开始之前的状态。)

最佳答案

Is there a way to make the effect of a Swift CABasicAnimation animation permanent

绝对是的。只需将您正在制作动画的相同属性设置为动画结束时它将具有的值。您可以在创建和添加动画的同时执行此操作。 (执行此操作时,您可能需要关闭隐式动画关闭,这样您就不会为此更改设置动画。)

来 self 自己的代码的示例(我正在为名为 arrow 的层的 transform 制作动画,以便它旋转):

let startValue = arrow.transform
let endValue = CATransform3DRotate(
startValue, CGFloat(M_PI)/4.0, 0, 0, 1)
// change the layer, without implicit animation
// THIS IS WHAT YOU ARE ASKING ABOUT
CATransaction.setDisableActions(true)
arrow.transform = endValue
// construct the explicit animation
let anim = CABasicAnimation(keyPath:"transform")
anim.duration = 0.8
anim.fromValue = NSValue(CATransform3D:startValue)
anim.toValue = NSValue(CATransform3D:endValue)
// ask for the explicit animation
arrow.addAnimation(anim, forKey:nil)

关于快速使动画效果永久化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35353812/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com