@inte***ce coreanimationeffect : nsobject
// reveal
+ (void)animationrevealfrombottom:(uiview *)view;
+ (void)animationrevealfromtop:(uiview *)view;
+ (void)animationrevealfromleft:(uiview *)view;
+ (void)animationrevealfromright:(uiview *)view;
// 漸隱漸消
+ (void)animationeasein:(uiview *)view;
+ (void)animationeaseout:(uiview *)view;
// 翻轉
+ (void)animationflipfromleft:(uiview *)view;
+ (void)animationflipfromrigh:(uiview *)view;
// 翻頁
+ (void)animationcurlup:(uiview *)view;
+ (void)animationcurldown:(uiview *)view;
// push
+ (void)animationpushup:(uiview *)view;
+ (void)animationpushdown:(uiview *)view;
+ (void)animationpushleft:(uiview *)view;
+ (void)animationpushright:(uiview *)view;
// move
+ (void)animationmoveup:(uiview *)view duration:(cftimeinterval)duration;
+ (void)animationmovedown:(uiview *)view duration:(cftimeinterval)duration;
+ (void)animationmoveleft:(uiview *)view;
+ (void)animationmoveright:(uiview *)view;
// 旋轉縮放
// 各種旋轉縮放效果
+ (void)animationrotateandscaleeffects:(uiview *)view;
// 旋轉同時縮小放大效果
+ (void)animationrotateandscaledownup:(uiview *)view;
@end
@implementation coreanimationeffect
catransition *animation = [catransition animation];
animation.delegate = self;
animation.duration = duration;
animation.timingfunction = [camediatimingfunction functionwithname:timingfunction];
animation.fillmode = kcafillmodeforwards;
// animation.removedoncompletion = no;
** type* * 各種動畫效果 其中除了'fade', `movein', `push' , `reveal' ,其他屬於私有的api(我是這麼認為的,可以點進去看下注釋).
* ↑↑↑上面四個可以分別使用'kcatransitionfade', 'kcatransitionmovein', 'kcatransitionpush', 'kcatransitionreveal'來呼叫.
* @"cube" 立方體翻滾效果
* @"movein" 新檢視移到舊檢視上面
* @"reveal" 顯露效果(將舊檢視移開,顯示下面的新檢視)
* @"fade" 交叉淡化過渡(不支援過渡方向) (預設為此效果)
* @"pagecurl" 向上翻一頁
* @"pageuncurl" 向下翻一頁
* @"suckeffect" 收縮效果,類似系統最小化視窗時的神奇效果(不支援過渡方向)
* @"rippleeffect" 滴水效果,(不支援過渡方向)
* @"oglflip" 上下左右翻轉效果
* @"rotate" 旋轉效果
* @"push"
* @"camerairishollowopen" 相機鏡頭開啟效果(不支援過渡方向)
* @"camerairishollowclose" 相機鏡頭關上效果(不支援過渡方向)
*** type
* * kcatransitionfade 交叉淡化過渡
* kcatransitionmovein 新檢視移到舊檢視上面
* kcatransitionpush 新檢視把舊檢視推出去
* kcatransitionreveal 將舊檢視移開,顯示下面的新檢視
*/animation.type = type;
** subtype
* * 各種動畫方向
* * kcatransitionfromright; 同字面意思(下同)
* kcatransitionfromleft;
* kcatransitionfromtop;
* kcatransitionfrombottom;
*** subtype
* * 當type為@"rotate"(旋轉)的時候,它也有幾個對應的subtype,分別為:
* 90cw 逆時針旋轉90°
* 90ccw 順時針旋轉90°
* 180cw 逆時針旋轉180°
* 180ccw 順時針旋轉180°
**** type與subtype的對應關係(必看),如果對應錯誤,動畫不會顯現.
* * @see
*animation.subtype = subtype;
** * 所有核心動畫和特效都是基於caanimation,而caanimation是作用於calayer的.所以把動畫新增到layer上.
* forkey 可以是任意字串.
*[theview.layer addanimation:animation forkey:nil];
} // presentmodalviewcontroller
+ (void)animationmoveup:(uiview *)view duration:(cftimeinterval)duration
// dissmodalviewcontroller
+ (void)animationmovedown:(uiview *)view duration:(cftimeinterval)duration
+(void)animationrotateandscaleeffects:(uiview
)view
IOS開發常用巨集
字串是否為空 define kstringisempty str str iskindofclass nsnull class str nil str length 1 yes no 陣列是否為空 define karrayisempty array array nil array iskindof...
iOS開發 常用排序
1.針對陣列直接倒序 倒序 nsmutablearray tempmarr nsmutablearray arraywithobjects c d a b nil tempmarr nsmutablearray tempmarr reverseobjectenumerator allobjects ...
iOS開發常用巨集
大家都是知道使用巨集不僅方便,而且可以提高開發效率。下面總結了ios開發過程中的一些常用巨集,會持續的往裡面新增。字串是否為空 define kstringisempty str str iskindofclass nsnull class str nil str length 陣列是否為空 def...