CALayer的隐式動畫屬性:
•每一個UIView内部都預設關聯着一個CALayer,稱這個Layer為Root Layer。所有的非Root Layer都存在着隐式動畫,隐式動畫的預設時長為1/4秒。
•當修改非Root Layer的部分屬性時,相應的修改會自動産生動畫效果,能執行隐式動畫的屬性被稱為“可動畫屬性”,諸如:
1.bounds: 縮放動畫
2.position: 平移動畫
3.opacity: 淡入淡出動畫(改變透明度)
•在文檔中搜素animatable可以找到所有可動畫屬性
•如果要關閉預設的動畫效果,可以通過動畫事務方法實作:
[CATransaction begin];
[CATransaction setDisableActions:YES];
// ...一些其他的代碼<#code#>
[CATransaction commit];
具體的示範執行個體如下:隻需要在控制器ViewController類中寫代碼即可.......
操作目的:當我們觸摸螢幕時,子層會動畫跑到點選的位置停留下來,同時動畫的過程中,它的透明度和形變也可以發生改變。
操作步驟:
1.建立子層,設定屬性,然後添加到根層


2.重寫-(void)touchBegan:(NSSet*)touches withEvent:(UIEvent *)event方法,進行觸摸事件的處理,動畫過程中處理的代碼如下:
//取出目前點
//開始動畫事物([CATransaction setDisableActions:YES]關閉隐式動畫後,子層直接跳到了觸擊位置,沒有了移動動畫流程)
//設定動畫持續時間為1秒
//設定子層的動畫後的位置


//設定子層透明度的變化值,透明度由1.0變成了0.5
//設定子層變形,以x為旋轉軸旋轉45度
//送出動畫事物
3.示範結果如下:
沒有任何觸發時的截圖: 在螢幕右下角點選一下,子層慢慢移動了此位置,并且透明度慢慢變淺,形變産生
程式猿神奇的手,每時每刻,這雙手都在改變着世界的互動方式!
本文轉自當天真遇到現實部落格園部落格,原文連結:http://www.cnblogs.com/XYQ-208910/p/4882960.html,如需轉載請自行聯系原作者