2012-07-31 51 views
1

我非常絕望,在此尋找將動畫添加到CALayer的方法,但僅使其適用於圖層的一部分。或者如果這甚至是可能的。核心動畫:僅對圖層的指定部分(iOS)執行動畫

我正在嘗試對文本的一部分進行動畫製作(目前使用的是UILabel),但保持原樣。

這裏有一個很好的例子:

一個計數器,當您添加/刪除計數只有一個數字的變化。

感謝

編輯1:

我想編輯的/零件/文本位置。

+0

你想做什麼?爲文本的一部分變換/ alpha /位置設置動畫效果? – 2012-07-31 15:40:57

回答

2

你描述的是不可能的。核心動畫適用於整個圖層。 UIView動畫適用於整個視圖。

如果您想爲圖層/視圖的一部分製作動畫,您不需要將其切成片段,只需要爲要更改的部分製作動畫。

這是一個例外,你可以動畫CAShapeLayer的路徑。只要路徑保持相同的結構(控制點的數量/類型),那麼對路徑的改變就會變成動畫。

如果您有使用路徑定義文本的形狀圖層,並且可以設計一種方法來轉換路徑,同時保持相同數量和類型的控制點,則可以使形狀更改的一部分。

也可以爲層的蒙版設置動畫變化。有了這個,你可以顯示或隱藏圖層的一部分,這可以給你一個效果,如動畫圖層的一部分。例如,您可以將圖層的中間部分淡入淡出。

+0

感謝鄧肯的輸入! 因此,如果我正確理解你的陳述,我應該添加一個掩碼到需要修改的部分,並從那裏開始工作? 我該怎麼做到這一點? – G33kz0r 2012-07-31 19:59:51

+1

創建一個與您要遮罩的圖層大小相同的新圖層。將其添加爲要修改的圖層的蒙版。遮罩層的阿爾法通道決定了圖層的哪些部分被顯示。 (當遮罩是不透明的,圖層顯示,以及它透明的地方,圖層是隱藏的。)您可以在遮罩層中安裝CGImage,或者將遮罩層設爲CAShapeLayer並在形狀圖層中安裝CGPath。順便說一句,接受我的答案並提高它的投票呢? – 2012-07-31 20:28:25

+0

再次感謝鄧肯。不用擔心,我正在等待你對+1的迴應。 – G33kz0r 2012-07-31 21:21:05