【发布时间】:2019-07-26 12:38:42
【问题描述】:
我有一个图层在我向上滑动时向上移动,然后在我向下滑动时同一图层向下移动。
当我向上滑动时,我不希望用户能够向下滑动以激活该动画,直到向上滑动动画完成,反之亦然。
我该如何做到这一点?我尝试使用“isEnabled”禁用滑动手势,但没有骰子。其他一些类似问题的答案是很久以前的,并且语法非常不同。我正在使用最新版本的 xcode。
【问题讨论】:
-
能否分享相关代码?
-
func downWaves() { // 移动波浪的函数 let moveDown = CABasicAnimation(keyPath: "position.y") moveDown.fromValue = 550 moveDown.toValue = 843 moveDown.duration = 1 moveDown. timingFunction = CAMediaTimingFunction(name: CAMediaTimingFunctionName.linear) moveDown.repeatCount = 1 moveDown.fillMode = CAMediaTimingFillMode.forwards moveDown.isRemovedOnCompletion = false 百层.add(moveDown, forKey: "position")
-
*hundred 是我正在移动的图像
-
看这个答案stackoverflow.com/a/16337973/7842542。它显示了如何停止动画。也许您可以使用手势识别器来停止动画并开始新的动画
-
感谢 Malik,我实际上找到了另一种使用presentation() 繁荣的方法。 myImage.layer.presentation()?.position.y -> 这让我可以随时保存图像的 y 位置,这样当我向任何方向滑动时,图像会从最后一个位置开始移动跨度>
标签: swift xcode animation swift4 caanimation