隱含的事情表現良好。但是,當我嘗試使用顯式動畫在單個圖層上執行多個動畫(例如不透明度和平移)時,我會得到奇怪的結果。CALayer顯式動畫不能正常工作
首先,我嘗試使用CATransaction。然後我切換到CAAnimationGroup。兩者似乎都沒有得到我想要的。
我想要什麼? 我只需要一層圖層從一個點移動到另一個圖層,並使用初始不透明度和目標不透明度。而已!
我在看什麼? 下面是一個例子...
當執行交易開始/提交時,翻譯看起來是正確的,但不透明度不是。我的開始不透明度爲0,目標不透明度爲0.5。 但是當我運行動畫時,它會混合到0.5,但隨後會「捕捉」到1.0(完全不透明)。
我試着將removedOnCompletion設置爲NO。但那也沒有幫助。 我認爲底線是我需要知道AnimationGroup和Transaction之間的區別。
有人可以解釋這一點,可能是什麼即時看到我的動畫奇怪?
謝謝!
您應該可以通過設置圖層的alpha值和位置屬性來隱式設置這些屬性的動畫效果。聽起來像你在正確的軌道上。將它們堆疊在一起進行CATransaction begin/commit,它們將以原子方式動畫化。如果無法正常工作,請發佈您的代碼。 – 2009-08-27 10:26:04
隱式動畫工作,但id喜歡明確創建它們,當動畫完成時我可以處理完成的事件。 – AlvinfromDiaspar 2009-08-28 05:28:25