[英]How to change a CALayer's default animation time?
我使用這些代碼來移動CALayer:
CGPoint position = self.position;
position.x += 10;
position.y += 10;
self.position = position;
當我在沒有任何動畫調用的情況下更改圖層的位置時,會有一個默認動畫。當我在touchesMoved:withEvent:中使用這些代碼時,這將導致圖層移動滯后。
我想要做的是刪除默認動畫,並立即移動圖層,以便它可以快速響應觸摸事件,就像UIView的“中心”屬性一樣。
我該怎么辦? 特別的thx!
另一張海報有正確的想法,但沒有提供足夠的信息。
如果要在沒有動畫的情況下立即更改圖層屬性,則需要將這些更改放在禁止操作的CATransaction中:
[CATransaction begin];
//[CATransaction setAnimationDuration: 1.0/30.0];
[CATransaction setDisableActions: TRUE];
//Put layer changes you want to take place without animation here.
[CATransaction commit];
簡單的設置
[CATransaction setDisableActions:YES];
這將使Layer移動而不會延遲
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.