1
當用戶點擊屏幕時,我生成了CALayer
。然後我使用Animation
將該圖層翻譯到某個位置。然後我在animationDidStop
使用此代碼將其取出:animation iid中的iOS停止
[mylayer removeFromSuperLayer];
這裏一切正常,但是當我再次點擊一個動畫停止之前,我目前的層不會從superlayer刪除。在這種情況下我如何刪除它?
當用戶點擊屏幕時,我生成了CALayer
。然後我使用Animation
將該圖層翻譯到某個位置。然後我在animationDidStop
使用此代碼將其取出:animation iid中的iOS停止
[mylayer removeFromSuperLayer];
這裏一切正常,但是當我再次點擊一個動畫停止之前,我目前的層不會從superlayer刪除。在這種情況下我如何刪除它?
如果你每次都創建一個新層,然後委託方法只能去除當前(如較舊的一個將會丟失)
你可以嘗試使用在你的動畫CATransaction begin/commit
對和添加完成塊,這樣你就可以通過每個動畫的圖層參考
[CATransaction begin];
[CATransaction setCompletionBlock:^{
[myLayer removeFromSuperlayer];
}];
//your existing animation code
[CATransaction commit];