ios的畫面切換的動畫效果的API主要通過調用系統已定義的動畫效果實現,這些效果已基本囊括開發的需求,如果需要更加復雜的效果,可以考慮CATransition來實現
以下是基本的四種效果
kCATransitionPush 推入效果
kCATransitionMoveIn 移入效果
kCATransitionReveal 截開效果
kCATransitionFade 漸入漸出效果
以下API效果可以安全使用
cube 方塊
suckEffect 三角
rippleEffect 水波抖動
pageCurl 上翻頁
pageUnCurl 下翻頁
oglFlip 上下翻轉
cameraIrisHollowOpen 鏡頭快門開
cameraIrisHollowClose 鏡頭快門開
以下API效果請慎用
spewEffect 新版面在屏幕下方中間位置被釋放出來覆蓋舊版面.
genieEffect 舊版面在屏幕左下方或右下方被吸走, 顯示出下面的新版面
unGenieEffect 新版面在屏幕左下方或右下方被釋放出來覆蓋舊版面.
twist 版面以水平方向像龍卷風式轉出來.
tubey 版面垂直附有彈性的轉出來.
swirl 舊版面360度旋轉並淡出, 顯示出新版面.
charminUltra 舊版面淡出並顯示新版面.
zoomyIn 新版面由小放大走到前面, 舊版面放大由前面消失.
zoomyOut 新版面屏幕外面縮放出現, 舊版面縮小消失.
oglApplicationSuspend 像按”home” 按鈕的效果.
動畫效果的用法
代碼如下 復制代碼CATransition *animation = [CATransition animation];
animation.duration = 10.5f;
animation.timingFunction = UIViewAnimationCurveEaseInOut;
animation.fillMode = kCAFillModeForwards;
//基本型
animation.type = kCATransitionPush;
//私有API,字符串型
animation.type = "cube";
[self.view.layer addAnimation:animation forKey:@"animation"];