2012-07-01 61 views
2

做使用一些核心動畫後,雖然停止:仍然得到動畫使用它們

[UIView beginAnimations:nil context:nil]; 
    [UIView setAnimationDuration:0.5]; 

    [self setAffineTransform:CGAffineTransformIdentity]; 

    [UIView commitAnimations]; 

我發現,如果我只火了一個屬性的變化,它仍然會使用動畫,而不是簡單地改變屬性。例如setAffineTransform ... 這是iOS的動畫固有的東西嗎?我在代碼中丟失了什麼或者什麼東西一定是錯的?

謝謝!

+0

請顯示您使用的實際代碼。例如,某些圖層屬性更改是隱式動畫的。 – jrturton

+0

添加到問題中。 SetAffineTransform。它也發生在圖層的不透明度上。 – Ted

回答

1

setAffineTransform:是CALayer上的方法,而不是UIView,就像您提到的不透明度一樣。對這些屬性的更改會隱式生成動畫,也就是說,設置這些屬性會導致圖層生成新值,而不是立即切換。

隱式動畫屬性的列表是here。要禁用隱式動畫,請將更新包裝在CATransaction中,並禁用隱式動畫,如here所述。

+0

寶貴的信息,謝謝! – Ted

相關問題