当我使用CATransaction完成等待动画完成时,它多次调用该完成。应该只叫一次。下面是示例代码
@objc func spinWheel(sender: UIPanGestureRecognizer) {
CATransaction.begin()
CATransaction.setCompletionBlock{ [weak self] in
print("hello")
}
startRotation(angle: calculatePosition)
CATransaction.commit()
}所以,在我滑动一个UIView之后,它会旋转。完成旋转后,我将尝试打印。它会印6到7次。应该只调用一次
发布于 2018-08-30 06:31:57
我认为你的动画方法是错误的。当你在视图中添加一个pan手势并将其进行平移时。只要您正在摇摄,它就会一直调用委托。
因此,您应该做的是用UIPanGestureRecognizer替换UISwipeGestureRecognizer,或者在pan手势结束时处理完成。
https://stackoverflow.com/questions/52089699
复制相似问题