我用这种方式为UIScrollView制作动画:
let anim = CAKeyframeAnimation()
anim.keyPath = "bounds.origin.x"
anim.values = self.animValues
anim.keyTimes = self.animKeyTimes
anim.duration = self.animDuration
anim.additive = true
myScrollView.layer.addAnimation(anim, forKey: "move")
然后当用户点击取消时,我尝试了这个:
myScrollView.layer.removeAnimationForKey("move")
myScrollView.layer.removeAllAnimations()
两者都不起作用。
我也尝试过设置anim.duration = 0.0
。那没有效果。
我无法尝试使用myScrollView.layer.presentationLayer()
执行任何操作,因为presentationLayer()
是nil
。
动画不需要暂停。它们可以完全停止并丢弃。它们永远不会重新启动。
这些动画可以是30秒或更长时间。强制用户等到它完成后不是好的UX / UI。
非常感谢任何帮助。
谢谢,
大卫
答案 0 :(得分:0)
您可以尝试将动画速度设置为零
myScrollView.layer.speed = 0.0
尝试anim.keyPath = "position.x"
而不是“bounds.origin.x”。这对layer.removeAllAnimations()
答案 1 :(得分:0)
我不得不重新构建我的项目文件以解决其他问题,当我再次尝试这个问题时,它按照预期的方式工作!
这至少是我第三次重建这个应用程序的项目文件。 我必须做对了!