UIView动画效果
UIView是iOS系統(tǒng)中界面元素的基礎(chǔ), 所有的界面元素都是繼承自它.它本身完全由CoreAnimation來實現(xiàn)的.它真正的繪圖部分,是由一個CALayer類來管理.UIView本身更像一個CALayer的管理器,訪問它的跟繪圖和坐標(biāo)有關(guān)的相關(guān)屬性. iOS的畫面切換效果的API主要通過調(diào)用系統(tǒng)已定義的動畫效果實現(xiàn),這些效果已基本包括開發(fā)的需求,如需更復(fù)雜的效果,可以使用CATransition來實現(xiàn).
以下是基本的四種效果
kCATransitionPush 推入效果
kCATransitionMoveIn 移入效果
kCATransitionReveal 截開效果
kCATransitionFade 漸入漸出效果
以下API效果可以安全使用
cube 方塊
suckEffect 三角
rippleEffect 水波抖動
pageCurl 上翻頁
pageUnCurl 下翻頁
oglFlip 上下翻轉(zhuǎn)
cameraIrisHollowOpen 鏡頭快門開
cameraIrisHollowClose 鏡頭快門開
以下API效果請慎用
spewEffect 新版面在屏幕下方中間位置被釋放出來覆蓋舊版面.
genieEffect 舊版面在屏幕左下方或右下方被吸走, 顯示出下面的新版面
unGenieEffect 新版面在屏幕左下方或右下方被釋放出來覆蓋舊版面.
twist 版面以水平方向像龍卷風(fēng)式轉(zhuǎn)出來.
tubey 版面垂直附有彈性的轉(zhuǎn)出來.
swirl 舊版面360度旋轉(zhuǎn)并淡出, 顯示出新版面.
charminUltra 舊版面淡出并顯示新版面.
zoomyIn 新版面由小放大走到前面, 舊版面放大由前面消失.
zoomyOut 新版面屏幕外面縮放出現(xiàn), 舊版面縮小消失.
oglApplicationSuspend 像按”home” 按鈕的效果.
例如:
//獲得一個動畫對象 ?
? ? CATransition *animation = [CATransition animation]; ?
? ? //設(shè)置動畫時間 ?
? ? animation.duration = 1; ?
? ? //設(shè)置動畫速率 ?
? ? animation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]; ?
?? ? ?
? ? /*?
?? ? animation.type = @"cube" ? ? ? ? ? ? //立方體效果?
?? ? animation.type = @"suckEffect" ? ? ? //收縮效果,如一塊布被抽走?
?? ? animation.type = @"oglFlip"? ? ? ? ? //上下翻轉(zhuǎn)效果?
?? ? animation.type = @"rippleEffect" ? ? //滴水效果?
?? ? animation.type = @"pageCurl" ? ? ? ? //向上翻一頁?
?? ? animation.type = @"pageUnCurl" ? ? ? //向下翻一頁?
?? ? */ ?
? ? //設(shè)置動畫類型 ?
? ? animation.type = @"pageCurl"; ?
?? ? ?
? ? //設(shè)置動畫子類型 ?
? ? animation.subtype = kCATransitionFromTop; ?
?? ? ?
?? ? ?
? ? //添加到layer層 ?
? ? UIView *myView = [self.view viewWithTag:2016]; ?
?? ? ?
? ? [myView.layer addAnimation:animation forKey:@"animation"]; ?
? ? [myView exchangeSubviewAtIndex:0 withSubviewAtIndex:1]; ?
轉(zhuǎn)載于:https://www.cnblogs.com/dreamDeveloper/p/6052779.html
總結(jié)
以上是生活随笔為你收集整理的UIView动画效果的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SpringBoot项目部署与服务配置
- 下一篇: 微信小程序需要https后台的创业机会思