iOS動畫之CAShapeLayer(二)愛奇藝加載動畫

QIY.gif
從今天起demo的代碼分OC和Swift兩種,以便滿足所有同學的需求蜀踏,但是講解代碼還是OC

突然發(fā)現(xiàn)愛奇藝的視頻加載動畫可以用CAShapeLayer做出來梦谜,之前在提交動畫里已經(jīng)詳細介紹過CAShapeLayer用法及其屬性,不懂得請看iOS動畫之CAShapeLayer(一)提交動畫

任何動畫都是一步步完成的波闹,所以以后遇到復(fù)雜的動畫不要著急一喘,把動畫拆分了驱还,就不難了。

拆分動畫

  1. 一個圓慢慢畫出來凸克;
  2. 圓慢慢的消失议蟆;
  3. 圓消失的同時三角形旋轉(zhuǎn)360度。

一個圓慢慢畫出來

還記得上個文章里的話嗎:理論上萎战,所有描線的動畫你都可以用這種方式先指定一個 path 然后改變 strokeEnd, strokeStart 來實現(xiàn)咐容。

那么一個圓慢慢出來怎么做,首先需要一個path蚂维,path其實是個圓

//畫一個圓
UIBezierPath *path = [UIBezierPath bezierPathWithOvalInRect:self.bounds];

CAShapeLayer *maskLayer = [CAShapeLayer layer];
maskLayer.fillColor=[UIColor clearColor].CGColor;
//將路徑賦值給CAShapeLayer
maskLayer.path = path.CGPath;
//設(shè)置路徑的顏色
maskLayer.strokeColor=[UIColor colorWithRed:0.52f green:0.76f blue:0.07f alpha:1.00f].CGColor;
//設(shè)置路徑的寬度
maskLayer.lineWidth=1;
maskLayer.lineCap=kCALineCapRound;

[self.layer addSublayer:maskLayer];

接下來要開始動畫了

self.maskLayer.strokeStart=0;
//設(shè)置strokeEnd的最終值戳粒,動畫的fromValue為0,strokeEnd的最終值為0.98
self.maskLayer.strokeEnd=0.98;

CABasicAnimation *BasicAnimation=[CABasicAnimation animationWithKeyPath:@"strokeEnd"];
BasicAnimation.fromValue=@(0);
BasicAnimation.duration=NSTimeInterval;
BasicAnimation.delegate=self;
[BasicAnimation setValue:@"BasicAnimationEnd" forKey:@"animationName"];
[self.maskLayer addAnimation:BasicAnimation forKey:@"BasicAnimationEnd"];

這樣完成后一個圓就慢慢出現(xiàn)

setup1.gif

圓慢慢的消失

怎么讓一個圓慢慢消失呢虫啥,那請問你怎么讓一個圓出的蔚约?是通過改變strokeEnd從0->0.98
畫圓結(jié)束后strokeEnd為0.98
那么讓strokeStart從0->0.98 strokeStart與strokeEnd一樣那么圓不就消失了嗎

self.maskLayer.strokeStart=0.98;
CABasicAnimation *BasicAnimation=[CABasicAnimation animationWithKeyPath:@"strokeStart"];
BasicAnimation.fromValue=@(0);
BasicAnimation.duration=NSTimeInterval;
BasicAnimation.delegate=self;
[BasicAnimation setValue:@"BasicAnimationStart" forKey:@"animationName"];
[self.maskLayer addAnimation:BasicAnimation forKey:@"BasicAnimationStart"];
setup2.gif

代碼和畫圓差不多,就不多解釋了

圓消失的同時三角形旋轉(zhuǎn)360度

//開始三角形旋轉(zhuǎn)

    CABasicAnimation *BasicAnimation=[CABasicAnimation animationWithKeyPath:@"transform.rotation.z"];
    BasicAnimation.toValue=@(M_PI*2);
    BasicAnimation.duration=NSTimeInterval;
    BasicAnimation.delegate=self;
    [BasicAnimation setValue:@"BasicAnimationRotation" forKey:@"animationName"];
    [self.centerImage.layer addAnimation:BasicAnimation forKey:@"BasicAnimationRotation"];

最基本的CABasicAnimation真的不需要多解釋了
如果感覺這篇文章對您有所幫助涂籽,順手點個喜歡苹祟,謝謝啦
代碼放在了GitHub上大家可以下載。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市苔咪,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌柳骄,老刑警劉巖团赏,帶你破解...
    沈念sama閱讀 217,185評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異耐薯,居然都是意外死亡舔清,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,652評論 3 393
  • 文/潘曉璐 我一進店門曲初,熙熙樓的掌柜王于貴愁眉苦臉地迎上來体谒,“玉大人,你說我怎么就攤上這事臼婆∈阊鳎” “怎么了?”我有些...
    開封第一講書人閱讀 163,524評論 0 353
  • 文/不壞的土叔 我叫張陵颁褂,是天一觀的道長故响。 經(jīng)常有香客問我,道長颁独,這世上最難降的妖魔是什么彩届? 我笑而不...
    開封第一講書人閱讀 58,339評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮誓酒,結(jié)果婚禮上樟蠕,老公的妹妹穿的比我還像新娘。我一直安慰自己靠柑,他們只是感情好寨辩,可當我...
    茶點故事閱讀 67,387評論 6 391
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著歼冰,像睡著了一般捣染。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上停巷,一...
    開封第一講書人閱讀 51,287評論 1 301
  • 那天耍攘,我揣著相機與錄音,去河邊找鬼畔勤。 笑死蕾各,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的庆揪。 我是一名探鬼主播式曲,決...
    沈念sama閱讀 40,130評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了吝羞?” 一聲冷哼從身側(cè)響起兰伤,我...
    開封第一講書人閱讀 38,985評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎钧排,沒想到半個月后敦腔,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,420評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡恨溜,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,617評論 3 334
  • 正文 我和宋清朗相戀三年符衔,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片糟袁。...
    茶點故事閱讀 39,779評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡判族,死狀恐怖椅挣,靈堂內(nèi)的尸體忽然破棺而出蟆湖,到底是詐尸還是另有隱情,我是刑警寧澤先蒋,帶...
    沈念sama閱讀 35,477評論 5 345
  • 正文 年R本政府宣布周叮,位于F島的核電站沃缘,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏则吟。R本人自食惡果不足惜槐臀,卻給世界環(huán)境...
    茶點故事閱讀 41,088評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望氓仲。 院中可真熱鬧水慨,春花似錦、人聲如沸敬扛。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,716評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽啥箭。三九已至谍珊,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間急侥,已是汗流浹背砌滞。 一陣腳步聲響...
    開封第一講書人閱讀 32,857評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留坏怪,地道東北人贝润。 一個月前我還...
    沈念sama閱讀 47,876評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像铝宵,于是被迫代替她去往敵國和親打掘。 傳聞我的和親對象是個殘疾皇子华畏,可洞房花燭夜當晚...
    茶點故事閱讀 44,700評論 2 354

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