CALayer CAAnimation

http://blog.sina.com.cn/s/blog_7b9d64af0101bu9j.html 

CATransition 類

 

CATransition實現了layer的過渡動畫。也就是說是控制layer的過渡動畫類。

我們可以通過CATransition來實現我們特定的過渡動畫。也可以通過一個自定義的CIFilter實體來實現過渡動畫。

 

CATransition相關屬性

 

endProgress

@property float endProgress

定義過渡的結束點

結束點的值必須大於或者等於開始點。

默認值爲1.0。

 

startProgress

@property float startProgress

 

定義過度的開始點

開始點的值必須小於或者等於結束點。

默認值爲0.0。

 

這兩個屬性是float類型的。

可以控制動畫進行的過程,可以讓動畫停留在某個動畫點上,值在0.0到1.0之間。endProgress要大於等於startProgress。

比如:立方體轉,可以設置endProgress= 0.5,讓動畫停留在整個動畫的特定位置(停止在旋轉一般的狀態)。

 

filter

@property(retain) CIFilter *filter

 

爲動畫添加一個可選的濾鏡。

如果指定,那麼指定的filter必須同時支持x和y,否則該filter將不起作用。

默認值爲nil。

如果設置了filter,那麼,爲layer設置的type和subtype屬性將被忽略。

該屬性只在iOS 5.0以及以後版本被支持。

 

subtype

@property(copy) NSString *subtype

指定預定義的過渡方向。

默認爲nil。

如果指定了filter,那麼該屬性無效。

 

預定義的過渡方向爲:

NSString * const kCATransitionFromRight;

NSString * const kCATransitionFromLeft;

NSString * const kCATransitionFromTop;

NSString * const kCATransitionFromBottom;

分別表示:過渡從右邊、左邊、頂部、底部 開始。

 

type

@property(copy) NSString *type

 

指定預定義的過渡效果。

默認爲kCATransitionFade

如果指定了filter,那麼該屬性無效。

 

預定義的過渡效果:

NSString * const kCATransitionFade;

NSString * const kCATransitionMoveIn;

NSString * const kCATransitionPush;

NSString * const kCATransitionReveal;

 

分別表示:淡出、覆蓋原圖、推出、從底部顯示。

 

注意:

還有很多私有API效果,使用的時候要小心,可能會導致app審覈不被通過(悲劇啊,爲啥有卻不讓用啊!好東西不應該被束之高閣!):

 

fade     //交叉淡化過渡(不支持過渡方向)

push     //新視圖把舊視圖推出去

moveIn   //新視圖移到舊視圖上面

reveal   //將舊視圖移開,顯示下面的新視圖

cube     //立方體翻滾效果

oglFlip  //上下左右翻轉效果

suckEffect   //收縮效果,如一塊布被抽走(不支持過渡方向)

rippleEffect //滴水效果(不支持過渡方向)

pageCurl     //向上翻頁效果

pageUnCurl   //向下翻頁效果

cameraIrisHollowOpen  //相機鏡頭打開效果(不支持過渡方向)

cameraIrisHollowClose //相機鏡頭關上效果(不支持過渡方向)

 

 

 

http://www.cocoachina.com/ios/20141022/10005.html

 

發佈了24 篇原創文章 · 獲贊 1 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章