CATransition動畫的使用

2021-07-15 23:43:16 字數 3222 閱讀 4046

catransition動畫主要是通過設定一些動畫屬性,然後將

catransition例項新增到uiview的layer層上以實現動畫效果。

1 type

各種動畫效果

其中除了

'fade', `movein', `push' , `reveal' ,

其他屬於私有的

api(

我是這麼認為的

,可以點進去看下注釋

).可以分別使用

'kcatransitionfade', 'kcatransitionmovein', 'kcatransitionpush', 'kcatransitionreveal'

來呼叫.

@"cube"                 

立方體翻滾效果

@"movein"               

新檢視移到舊檢視上面

@"reveal"               

顯露效果

(將舊檢視移開

,顯示下面的新檢視)

@"fade"                 

交叉淡化過渡

(不支援過渡方向

)(預設為此效果)

@"pagecurl"             

向上翻一頁

@"pageuncurl"           

向下翻一頁

@"suckeffect"           

收縮效果,類似系統最小化視窗時的神奇效果

(不支援過渡方向)

@"rippleeffect"         

滴水效果

,(不支援過渡方向)

@"oglflip"              

上下左右翻轉效果

@"rotate"               

旋轉效果

@"push"

@"camerairishollowopen" 

相機鏡頭開啟效果

(不支援過渡方向)

@"camerairishollowclose"

相機鏡頭關上效果

(不支援過渡方向)

kcatransitionfade       

交叉淡化過渡

kcatransitionmovein     

新檢視移到舊檢視上面

kcatransitionpush       

新檢視把舊檢視推出去

kcatransitionreveal     

將舊檢視移開

,顯示下面的新檢視

2 subtype

各種動畫方向

kcatransitionfromright;

同字面意思(下同

) kcatransitionfromleft;

kcatransitionfromtop;

kcatransitionfrombottom; 當

type

為@"rotate"(旋轉)

的時候,

它也有幾個對應的

subtype,

分別為:

90cw  

逆時針旋轉

90°

90ccw 

順時針旋轉

90°

180cw 

逆時針旋轉

180°

180ccw

順時針旋轉

180°

3 timingfunction

用於變化起點和終點之間的插值計算

,形象點說它決定了動畫執行的節奏

,比如是均勻變化

(相同時間變化量相同

)還是先快後慢

,先慢後快還是先慢再快再慢.

動畫的開始與結束的快慢

,有五個預置分別為(下同

): kcamediatimingfunctionlinear        線性,

即勻速

kcamediatimingfunctioneasein       

先慢後快

kcamediatimingfunctioneaseout      

先快後慢

kcamediatimingfunctioneaseineaseout

先慢後快再慢

kcamediatimingfunctiondefault      

實際效果是動畫中間比較快

/**

* catransition動畫效果

* * @param type 動畫效果型別kcatransitionfade,kcatransitionmovein,kcatransitionpush,kcatransitionreveal

* @param subtype 動畫效果方向kcatransitionfromright,kcatransitionfromleft,kcatransitionfromtop,kcatransitionfrombottom

* @param duration 動畫時間

* @param timingfunction 動畫函式名kcamediatimingfunctionlinear,kcamediatimingfunctioneasein,kcamediatimingfunctioneaseout,kcamediatimingfunctioneaseineaseout,kcamediatimingfunctiondefault

* @param theview 新增動畫效果的uiview

*/+ (void)showanimationtype:(nsstring *)type

withsubtype:(nsstring *)subtype

duration:(cftimeinterval)duration

timingfunction:(nsstring *)timingfunction

view:(uiview *)theview

// 示例

[self showanimationtype:kcatransitionreveal withsubtype:kcatransitionfromright duration:0.6 timingfunction:kcamediatimingfunctioneaseineaseout view:self.imageview];

CATransition轉場動畫

注意事項 官方文件中只提供了四種轉場動畫過渡方式的常量,如圖 動畫的終點值必須大於等於起點值,否則沒有動畫效果 push movein reveal cube oglflip suckeffect rippleeffect pagecurl pageuncurl camerairishollowop...

CATransition動畫效果

catransition transition catransition animation 動畫時間 transition.duration 2 樣式設定 transition.timingfunction camediatimingfunction functionwithname kcamed...

CATransition 動畫的參考解析

catransition animation catransition animation animation.delegate self animation.duration 0.5f slider.value animation.timingfunction uiviewanimationcur...