[英]ios - CATransaction completion called multiple times
當我使用 CATransaction 完成等待動畫完成時,它多次調用完成。 它應該只調用一次。 這是示例代碼
@objc func spinWheel(sender: UIPanGestureRecognizer) {
CATransaction.begin()
CATransaction.setCompletionBlock{ [weak self] in
print("hello")
}
startRotation(angle: calculatePosition)
CATransaction.commit()
}
所以在我滑動 UIView 后,它會旋轉。 完成旋轉后,我將嘗試打印。 它會打印大約 6-7 次。 應該只調用一次
我認為你對這個動畫的做法是錯誤的。 當您向視圖添加平移手勢並平移它時。 只要您在平移,它就會不斷調用委托。
所以你應該做的是要么用UIPanGestureRecognizer
替換UIPanGestureRecognizer
, UISwipeGestureRecognizer
在平移手勢結束時處理完成。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.