動畫

  • 動畫是一個app的亮點(diǎn).
UIView動畫
  • Layer類
1.CAEmitterLayer          //粒子發(fā)射器
2.CAGradientLayer         //漸變
3.CAEAGLLayer             //可以通過OpenGL ES繪制界面
4.CAReplicatorLayer       // 對sublayer進(jìn)行復(fù)制和屬性的偏移
5.CAScrollLayer           // 支持其上管理的多個子層進(jìn)行滑動
6.CAShapeLayer            // 自定義layer層形狀
7.CATextLayer             //可以通過字符串進(jìn)行文字的繪制
8.CATiledLayer            //類似瓦片視圖,可以將繪制分區(qū)域進(jìn)行,常用于一張大的圖片的分不分繪制
9.CATransformLayer        //構(gòu)建一些3D效果的圖層

layer的渲染層與模型層:
1、presentationLayer 
      - Presentation Tree-對應(yīng)在動畫的過程中,CALayer的屬性

2、modelLayer
      - Model Tree-對應(yīng)CALayer的實(shí)際屬性
CA動畫

GI-ZJ6BE%8-RKI1JDACEH78.jpg
CGAffineTransform 是用于2D層面的,操作 NSView, UIView或者其他 2D Core Graphics 元素的.

CATransform3D 是 Core Animation的結(jié)構(gòu)體,是用來做更復(fù)雜的關(guān)于 CALayer 的3D操作.CATransform3D 有著與 OpenGL 模型視圖矩陣相同的內(nèi)部結(jié)構(gòu),原因在于 Core Animation 是建立在 OpenGL 之上的, CALayer是 OpenGL 結(jié)構(gòu)的一種封裝.

CATransaction 針對的CALayer,UIView對應(yīng)的layer不可以。
UIDynamic動畫(仿真物理行為,如重力,彈性碰撞):

1.吸附行為(UIAttachmentBehavior):有一個對象UIAttachmentBehavior,該對象用來指定兩個動力項(xiàng)(項(xiàng)或點(diǎn))之間的連接,當(dāng)一個項(xiàng)或者點(diǎn)移動時,吸附的項(xiàng)也隨之移動。當(dāng)然,這個連接并不是完全是靜態(tài)的(static),吸附的項(xiàng)有兩個屬性damping(阻尼)和oscillation(震蕩),這兩個屬性決定了吸附項(xiàng)的行為是如何隨時間而變化的。
2.碰撞行為(UICollisionBehavior):通過對象UICollisionBehavior指定一個邊界,并且讓各個動力項(xiàng),在該邊界內(nèi)參與碰撞。UICollisionBehavior對象還可以指定這些動力項(xiàng)適當(dāng)?shù)幕貞?yīng)碰撞。
3.重力行為(UIGravityBehavior):通過對象UIGravityBehavior給動力項(xiàng)指定一個重力矢量,具有重力矢量的動力項(xiàng),會在重力矢量的方向上一直加速,直到與別的動力項(xiàng)產(chǎn)生了沖突或者,遇到了邊界。
4.推動行為(UIPushBehavior):通過對象UIPushBehavior給動力項(xiàng)指定一個持續(xù)的或者瞬時的力(force vector)。
5.捕捉行為(UISnapBehavior):通過對象UISnapBehavior給動力項(xiàng)指定一個捕捉點(diǎn)。動力項(xiàng)會根據(jù)配置的效果,來抓住這一捕捉點(diǎn)。
當(dāng)動力行為被添加到animator(UIDynamicAnimator類的實(shí)例對象)時,動力行為就被激活。animator為動力行為的執(zhí)行提供了上下文。動力項(xiàng)可以有多個行為,只不過所有這些行為都必須添加到相同的animator中。
參考:
http://www.it165.net/pro/html/201501/32903.html
http://my.oschina.net/u/2340880/blog/536048
http://www.itdecent.cn/p/f729f4a9b8e7
http://blog.csdn.net/lengshengren/article/details/12000649
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容