簡體   English   中英

ios - 多次調用 CATransaction 完成

[英]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替換UIPanGestureRecognizerUISwipeGestureRecognizer在平移手勢結束時處理完成。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM