iOS動畫之CALayer

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的點擊事件裏

擊事件裏


動畫數組的方法不是很好實現,有可能是兩種動畫的效果會發生衝突.

在我們編程的過程中,會有很多地方使用到動畫,起到錦上添花的作用.







發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章