核心動畫(基礎(chǔ)動畫)

一、簡單介紹
項目中常用的動畫效果基本使用CABasicAnimation就能完成霎桅,它CAPropertyAnimation的子類
屬性解析:

   fromValue:keyPath相應(yīng)屬性的初始值
   toValue:keyPath相應(yīng)屬性的結(jié)束值

核心動畫是一種假象動畫
隨著動畫的進(jìn)行尚氛,在長度為duration的持續(xù)時間內(nèi)视粮,keyPath相應(yīng)屬性的值從fromValue漸漸地變?yōu)閠oValue
如果fillMode=kCAFillModeForwards和removedOnComletion=NO采桃,那么在動畫執(zhí)行完畢后戏阅,圖層會保持顯示動畫執(zhí)行后的狀態(tài)。但在實質(zhì)上啤它,圖層的屬性值還是動畫執(zhí)行前的初始值奕筐,并沒有真正被改變。
比如变骡,CALayer的position初始值為(0,0)离赫,CABasicAnimation的fromValue為(10,10),toValue為(100,100)塌碌,雖然動畫執(zhí)行完畢后圖層保持在(100,100)這個位置渊胸,實質(zhì)上圖層的position還是為(0,0)

  • Core Animation的使用步驟*
    1.使用它需要先添加QuartzCore.framework框架和引入主頭文件<QuartzCore/QuartzCore.h>(iOS7不需要)
    2.初始化一個CAAnimation對象,并設(shè)置一些動畫相關(guān)屬性
    3.通過調(diào)用CALayer的addAnimation:forKey:方法增加CAAnimation對象到CALayer中台妆,這樣就能開始執(zhí)行動畫了
    4.通過調(diào)用CALayer的removeAnimationForKey:方法可以停止CALayer中的動畫

二仲义、實例

  • 創(chuàng)建動畫對象

      CABasicAnimation *rotationAnimation = [CABasicAnimation   animationWithKeyPath:@"transform.rotation.y"];
       rotationAnimation.toValue = @(2 * M_PI);
       rotationAnimation.repeatCount = MAXFLOAT;
       rotationAnimation.duration = 5;
       rotationAnimation.removedOnCompletion = NO;
    
  • 通過animationWithKeyPath設(shè)置不同動畫效果
    常用KepPath動畫效果
    transform.scale = 比例縮放
    transform.scale.x = 寬的比例縮放
    transform.scale.y = 高的比例縮放
    transform.rotation = 平面的旋轉(zhuǎn)
    transform.rotation.y =Y方向旋轉(zhuǎn)
    transform.rotation.x = X方向旋轉(zhuǎn)
    opacity = 透明度變化

  • 把動畫對象添加到你想運用動畫的空間圖層上
    [self.iconView.layer addAnimation:rotationAnimation forKey:nil];

三怠褐、小結(jié)

所有動畫對象的父類,負(fù)責(zé)控制動畫的持續(xù)時間和速度,是個抽象類募寨,不能直接使用,應(yīng)該使用它具體的子類
屬性解析:(紅色代表來自CAMediaTiming協(xié)議的屬性)
duration:動畫的持續(xù)時間
repeatCount:動畫的重復(fù)次數(shù)
repeatDuration:動畫的重復(fù)時間
removedOnCompletion:默認(rèn)為YES信姓,代表動畫執(zhí)行完畢后就從圖層上移除蟋定,圖形會恢復(fù)到動畫執(zhí)行前的狀態(tài)。如果想讓圖層保持顯示動畫執(zhí)行后的狀態(tài),那就設(shè)置為NO遗座,不過還要設(shè)置fillMode為kCAFillModeForwards
fillMode:決定當(dāng)前對象在非active時間段的行為.比如動畫開始之前,動畫結(jié)束之后
beginTime:可以用來設(shè)置動畫延遲執(zhí)行時間舀凛,若想延遲2s,就設(shè)置為CACurrentMediaTime()+2途蒋,CACurrentMediaTime()為圖層的當(dāng)前時間
timingFunction:速度控制函數(shù)猛遍,控制動畫運行的節(jié)奏
delegate:動畫代理

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市碎绎,隨后出現(xiàn)的幾起案子螃壤,更是在濱河造成了極大的恐慌,老刑警劉巖筋帖,帶你破解...
    沈念sama閱讀 211,884評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件奸晴,死亡現(xiàn)場離奇詭異,居然都是意外死亡日麸,警方通過查閱死者的電腦和手機寄啼,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,347評論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來代箭,“玉大人墩划,你說我怎么就攤上這事∥俗郏” “怎么了乙帮?”我有些...
    開封第一講書人閱讀 157,435評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長极景。 經(jīng)常有香客問我察净,道長,這世上最難降的妖魔是什么盼樟? 我笑而不...
    開封第一講書人閱讀 56,509評論 1 284
  • 正文 為了忘掉前任氢卡,我火速辦了婚禮,結(jié)果婚禮上晨缴,老公的妹妹穿的比我還像新娘译秦。我一直安慰自己,他們只是感情好击碗,可當(dāng)我...
    茶點故事閱讀 65,611評論 6 386
  • 文/花漫 我一把揭開白布筑悴。 她就那樣靜靜地躺著,像睡著了一般稍途。 火紅的嫁衣襯著肌膚如雪雷猪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,837評論 1 290
  • 那天晰房,我揣著相機與錄音求摇,去河邊找鬼射沟。 笑死,一個胖子當(dāng)著我的面吹牛与境,可吹牛的內(nèi)容都是我干的验夯。 我是一名探鬼主播,決...
    沈念sama閱讀 38,987評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼摔刁,長吁一口氣:“原來是場噩夢啊……” “哼挥转!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起共屈,我...
    開封第一講書人閱讀 37,730評論 0 267
  • 序言:老撾萬榮一對情侶失蹤绑谣,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后拗引,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體借宵,經(jīng)...
    沈念sama閱讀 44,194評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,525評論 2 327
  • 正文 我和宋清朗相戀三年矾削,在試婚紗的時候發(fā)現(xiàn)自己被綠了壤玫。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,664評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡哼凯,死狀恐怖欲间,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情断部,我是刑警寧澤猎贴,帶...
    沈念sama閱讀 34,334評論 4 330
  • 正文 年R本政府宣布,位于F島的核電站蝴光,受9級特大地震影響嘱能,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜虱疏,卻給世界環(huán)境...
    茶點故事閱讀 39,944評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望苏携。 院中可真熱鬧做瞪,春花似錦、人聲如沸右冻。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,764評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽纱扭。三九已至牍帚,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間乳蛾,已是汗流浹背暗赶。 一陣腳步聲響...
    開封第一講書人閱讀 31,997評論 1 266
  • 我被黑心中介騙來泰國打工鄙币, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人蹂随。 一個月前我還...
    沈念sama閱讀 46,389評論 2 360
  • 正文 我出身青樓十嘿,卻偏偏與公主長得像,于是被迫代替她去往敵國和親岳锁。 傳聞我的和親對象是個殘疾皇子绩衷,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,554評論 2 349

推薦閱讀更多精彩內(nèi)容