CoreAnimation動(dòng)畫基礎(chǔ)

提供CALayer

具有更好的性能

1。CoreAnimation動(dòng)畫在單獨(dú)的線程中完成,不會(huì)阻塞主線程

2.只會(huì)重繪界面上變化的部分(局部刷新)

每個(gè)UIView都有自己的CALayer,而且每個(gè)CALayer都可以不斷地添加子CAL,CAL所在的CALayer被稱為父CAL,CAL的這種組織方式被稱為L(zhǎng)ayerTree

CoreAnimation動(dòng)畫涉及到的API:

CAAnimation:它是所有動(dòng)畫類的基類,實(shí)現(xiàn)了CAMediaTiming協(xié)議,提供了動(dòng)畫的持續(xù)時(shí)間,速度和重復(fù)計(jì)數(shù)等。CAAnimation還實(shí)現(xiàn)了CAAction協(xié)議,該協(xié)議為CALayer動(dòng)畫觸發(fā)的動(dòng)作提供標(biāo)準(zhǔn)化響應(yīng)

CATransition:CAAnimation的子類,CAAnimation可通過預(yù)置的過渡效果來控制calayer的過渡動(dòng)畫

CAPropertyAnimation 它是capropertyAnimation的一個(gè)子類,它代表一個(gè)屬性動(dòng)畫可通過+animationWithKeyPath類方法來創(chuàng)建屬性動(dòng)畫實(shí)例,該方法需要指定一個(gè)calayer支持動(dòng)畫的屬性,然后通過它的子類(CABasicAnimation,CAKeyframeAnimation)控制calayer的動(dòng)畫屬性慢慢地改變,即可實(shí)現(xiàn)calayer動(dòng)畫

CAKeyframeAnimation:CAPropertyAnimation的子類,支持關(guān)鍵幀的屬性動(dòng)畫,該動(dòng)畫最大的特點(diǎn)在于可通過values屬性制定多個(gè)關(guān)鍵幀,通過多個(gè)關(guān)鍵幀可以制定動(dòng)畫的各階段的關(guān)鍵值

CABasicAnimation:CAPA的子類。簡(jiǎn)單控制CALayer層的屬性慢慢改變,從而實(shí)現(xiàn)動(dòng)畫效果。很多CALayer層的屬性值的修改默認(rèn)會(huì)執(zhí)行這個(gè)動(dòng)畫類,比如大小,透明度,顏色等屬性。

caanimationGroup:它是caanimation的子類,用于將多個(gè)動(dòng)畫組合在一起進(jìn)行

12.7.2使用CALayer

提供了一個(gè)layer類來創(chuàng)建CALayer層,雖然CALayerh愛有一些子類,但實(shí)現(xiàn)一般的動(dòng)畫使用CALayer即可。

所有的UIView都有一個(gè)默認(rèn)的CALayer,通過UIView的layer屬性即可訪問 UIView上的CALayer層

步驟:

1.創(chuàng)建一個(gè)CALayer

2.設(shè)置CALayer的contents屬性CALayer所顯示的內(nèi)容,該屬性通??芍付ㄒ粋€(gè)cgimage,即代表該屬性通常可指定一個(gè)CGImage,即代表該CALayer將要顯示的圖片。如果需要自行繪制該CALayer所顯示的內(nèi)容,可為CALayer指定delegate屬性,該屬性值應(yīng)該是一個(gè)實(shí)現(xiàn)CALayerDelegate非正式協(xié)議的對(duì)象,重寫該協(xié)議中的drawLayer:inContext:方法,即可完成CALayer的繪制

3.CALayer設(shè)置backgroundColor(背景色),frame,position(位置),anchorPoint(錨點(diǎn)),borderXxx(設(shè)置邊框相關(guān)屬性),shadowXxx (設(shè)置陰影相關(guān)屬性)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

  • 一.CoreAnimation介紹 CoreAnimation是一套圖像渲染和動(dòng)畫基礎(chǔ)框架,其在iOS和OSX平臺(tái)...
    AlexCorleone閱讀 1,040評(píng)論 0 15
  • 在iOS實(shí)際開發(fā)中常用的動(dòng)畫無非是以下四種:UIView動(dòng)畫,核心動(dòng)畫,幀動(dòng)畫,自定義轉(zhuǎn)場(chǎng)動(dòng)畫。 1.UIView...
    請(qǐng)叫我周小帥閱讀 3,324評(píng)論 1 23
  • 顯式動(dòng)畫 如果想讓事情變得順利,只有靠自己 -- 夏爾·紀(jì)堯姆 上一章介紹了隱式動(dòng)畫的概念。隱式動(dòng)畫是iOS平臺(tái)上...
    方圓幾度閱讀 598評(píng)論 0 0
  • 前言:在APP程序開發(fā)中,優(yōu)美的界面能夠大大提高用戶的體驗(yàn),而優(yōu)美的界面離不開好看的動(dòng)畫效果。下面廢話少說,直接進(jìn)...
    moxuyou閱讀 41,422評(píng)論 32 344
  • 如果想讓事情變得順利,只有靠自己 -- 夏爾·紀(jì)堯姆 上一章介紹了隱式動(dòng)畫的概念。隱式動(dòng)畫是在iOS平臺(tái)創(chuàng)建動(dòng)態(tài)用...
    雪_晟閱讀 650評(píng)論 0 1

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