我的视图最初位于 A 位置,另外两个位置名为 B 和 C 。
此图像显示视图的初始状态。
我想要实现的是将视图从 B 设置为 C ,以不同的方式设置动画。
我希望动画对象从 A 开始,然后在 C 结束,但跳过 A→B 部分,只执行 B→C 部分。
代码应如下所示:
// aLabel and cLabel are the labels shown in the image above
let a = aLabel.center.x
let c = cLabel.center.x
let animation = CABasicAnimation(keyPath: "position.x")
animation.duration = 3
// The animation should start in code from A
animation.fromValue = a
// And ends at C
animation.toValue = c
// Update the model layer
someView.layer.position.x = c
/* ADD SOMETHING TO MAKE THE ANIMATION
STARTS FROM B AND ENDS AT C */
我尝试将动画偏移设置为1.5:
animation.timeOffset = 1.5
但它无效。动画执行如下: B→C→A→B ,我只想 B→C
答案 0 :(得分:3)
要跳过 A→B 部分,您可以将fromValue
设置为bLabel中心。
animation.fromValue = bLabel.center.x
如果您希望fromValue
和toValue
设置repeatDuration
以及timeOffset
:
animation.timeOffset = 1.5
animation.repeatDuration = 1.5