UIView與CALayer的關係
1,UIView可以相應事件,CALayer不可以
2,UIView側重於內容的管理,CALayer側重於內容的繪製
3,兩者緊密聯繫,缺一不可
UIView自帶一個readonly的屬性layer,大小和UIView的大小一致
下面我們來介紹一下比較重要的layer屬性
首先我們先來說一下基本動畫
CAAnimation:作用於CALayer層的動畫,是抽象類
CAPropertyAnimation,屬性動畫,是抽象子類,不能直接使用
CABasicAnimation,基本動畫
CAAnimation沒有真實改變屬性,只是在模擬屬性值改變
下面我們來模擬幾種動畫效果
第一種是改變UIView的圓角弧度
其中KeyPath,寫屬性的名字或路徑,這是一種特定的書寫方式,具體的可以在xcode裏面看API,改變不同的量,需要不同的KeyPath
第二種是改變UIView的寬高
下面我們來介紹一下關鍵幀動畫的使用
其中的 position 表示的是位置的變化
關鍵幀動畫可以管理視圖按照我們寫好的一系列的變化進行,而且可以控制每個變化之間的時間間隔
當然,我們可以在最後設置視圖停止的位置,這樣設置並不會和關鍵幀衝突,系統會先執行動畫,在動畫結束的時候會執行我們寫的限制條件
例如,我們可以在最後寫視圖的停止位置
view.frame = CGRectMake(50, 450, 100, 100);
下面我們說一下過渡動畫
過渡動畫,就是之視圖按我們設計的方向進行移動,但是不是真正的移動,有點類似於翻書的效果
由於過渡動畫的效果持續的時間比較短,我們僅僅只是運行的話看不到效果,我們可以將過渡動畫寫到button的點擊事件裏
擊事件裏
動畫數組的方法不是很好實現,有可能是兩種動畫的效果會發生衝突.
在我們編程的過程中,會有很多地方使用到動畫,起到錦上添花的作用.