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...