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