實(shí)現(xiàn)一個(gè)沿著路徑移動(dòng)的動(dòng)畫(huà)并且旋轉(zhuǎn)

1.通過(guò)CAKeyframeAnimation(關(guān)鍵幀動(dòng)畫(huà))來(lái)實(shí)現(xiàn)沿著沿著路徑移動(dòng)的動(dòng)畫(huà)
2.通過(guò)CABaseAnimation實(shí)現(xiàn)旋轉(zhuǎn)
3.在CAAnimationGroup中添加這兩個(gè)動(dòng)畫(huà)

如何使用CAKeyframeAnimation來(lái)實(shí)現(xiàn)沿著路徑的移動(dòng)

  使用CGMutablePathRef來(lái)繪制路徑利用關(guān)鍵幀動(dòng)畫(huà)實(shí)現(xiàn)移動(dòng)也可以使用UIBezierPath來(lái)繪制貝塞爾曲線路徑(code)
   CGPoint startPoint = self.leafImg.center;
   CGMutablePathRef path = CGPathCreateMutable();
    CGPathMoveToPoint(path, nil, startPoint.x, startPoint.y);
    CGPathAddQuadCurveToPoint(path, nil, 50, self.view.frame.size.height-100, startPoint.x + 360, startPoint.y + 550);///添加一個(gè)控制點(diǎn)和結(jié)束點(diǎn)
    CAKeyframeAnimation *animation = [CAKeyframeAnimation animationWithKeyPath:@"position"];
    animation.path = path;
使用CABaseAnimation實(shí)現(xiàn)旋轉(zhuǎn)操作(code)
CABasicAnimation *aniBase = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"];
    aniBase.fromValue = @0;
    aniBase.toValue = @M_PI;
添加到CAAnimationGroup中牲平,然后把動(dòng)畫(huà)組加到layer中
CAAnimationGroup *group = [CAAnimationGroup animation];
    group.duration = 4.f;
    group.animations = @[aniBase,animation];
    [self.leafImg.layer addAnimation:group forKey:nil];

二.使用CAKeyframeAnimation實(shí)現(xiàn)

[UIView animateKeyframesWithDuration:4 delay:0 options:UIViewKeyframeAnimationOptionCalculationModeCubic animations:^{
        CGPoint center = self.leafImg.center;
        [UIView addKeyframeWithRelativeStartTime:0 relativeDuration:0.1 animations:^{
            self.leafImg.center = (CGPoint){(center.x + 15), (center.y + 80)};
        }];
        ///相對(duì)于4s的時(shí)間 0.1*4=0.4s的時(shí)候開(kāi)始
        [UIView addKeyframeWithRelativeStartTime:0.1 relativeDuration:0.15 animations:^{
            self.leafImg.center = (CGPoint){center.x + 45, center.y + 185};
        }];
        [UIView addKeyframeWithRelativeStartTime:0.25 relativeDuration:0.3 animations:^{
            self.leafImg.center = (CGPoint){center.x + 90, center.y + 295};
        }];
        [UIView addKeyframeWithRelativeStartTime:0.55 relativeDuration:.3 animations:^{
            self.leafImg.center = (CGPoint){center.x + 180, center.y + 375};
        }];
        [UIView addKeyframeWithRelativeStartTime:0.85 relativeDuration:.15 animations:^{
            self.leafImg.center = (CGPoint){center.x + 360, center.y + 435};
        }];
        [UIView addKeyframeWithRelativeStartTime:0 relativeDuration:1 animations:^{
            self.leafImg.transform = CGAffineTransformMakeRotation(M_PI);
        }];
    } completion:^(BOOL finished) {
       /// if (self.timer) {
           /// [self.timer invalidate];
            ///self.timer = nil;
        }
    }];
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,884評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異租副,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)较性,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,755評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén)用僧,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人赞咙,你說(shuō)我怎么就攤上這事责循。” “怎么了攀操?”我有些...
    開(kāi)封第一講書(shū)人閱讀 158,369評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵院仿,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我崔赌,道長(zhǎng)意蛀,這世上最難降的妖魔是什么耸别? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,799評(píng)論 1 285
  • 正文 為了忘掉前任健芭,我火速辦了婚禮,結(jié)果婚禮上秀姐,老公的妹妹穿的比我還像新娘慈迈。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,910評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布痒留。 她就那樣靜靜地躺著谴麦,像睡著了一般。 火紅的嫁衣襯著肌膚如雪伸头。 梳的紋絲不亂的頭發(fā)上匾效,一...
    開(kāi)封第一講書(shū)人閱讀 50,096評(píng)論 1 291
  • 那天,我揣著相機(jī)與錄音恤磷,去河邊找鬼面哼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛扫步,可吹牛的內(nèi)容都是我干的魔策。 我是一名探鬼主播,決...
    沈念sama閱讀 39,159評(píng)論 3 411
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼河胎,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼闯袒!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起游岳,我...
    開(kāi)封第一講書(shū)人閱讀 37,917評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤政敢,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體雾家,經(jīng)...
    沈念sama閱讀 44,360評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蔑祟,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,673評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了摩骨。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,814評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡朗若,死狀恐怖恼五,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情哭懈,我是刑警寧澤灾馒,帶...
    沈念sama閱讀 34,509評(píng)論 4 334
  • 正文 年R本政府宣布,位于F島的核電站遣总,受9級(jí)特大地震影響睬罗,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜旭斥,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,156評(píng)論 3 317
  • 文/蒙蒙 一容达、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧垂券,春花似錦花盐、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,882評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)柒昏。三九已至,卻和暖如春熙揍,著一層夾襖步出監(jiān)牢的瞬間职祷,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,123評(píng)論 1 267
  • 我被黑心中介騙來(lái)泰國(guó)打工届囚, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留堪旧,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,641評(píng)論 2 362
  • 正文 我出身青樓奖亚,卻偏偏與公主長(zhǎng)得像淳梦,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子昔字,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,728評(píng)論 2 351

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

  • 在iOS中隨處都可以看到絢麗的動(dòng)畫(huà)效果爆袍,實(shí)現(xiàn)這些動(dòng)畫(huà)的過(guò)程并不復(fù)雜,今天將帶大家一窺ios動(dòng)畫(huà)全貌作郭。在這里你可以看...
    每天刷兩次牙閱讀 8,473評(píng)論 6 30
  • 在iOS中隨處都可以看到絢麗的動(dòng)畫(huà)效果陨囊,實(shí)現(xiàn)這些動(dòng)畫(huà)的過(guò)程并不復(fù)雜,今天將帶大家一窺iOS動(dòng)畫(huà)全貌夹攒。在這里你可以看...
    F麥子閱讀 5,105評(píng)論 5 13
  • 顯式動(dòng)畫(huà) 顯式動(dòng)畫(huà)蜘醋,它能夠?qū)σ恍傩宰鲋付ǖ淖远x動(dòng)畫(huà),或者創(chuàng)建非線性動(dòng)畫(huà)咏尝,比如沿著任意一條曲線移動(dòng)压语。 屬性動(dòng)畫(huà) ...
    清風(fēng)沐沐閱讀 1,926評(píng)論 1 5
  • 在iOS實(shí)際開(kāi)發(fā)中常用的動(dòng)畫(huà)無(wú)非是以下四種:UIView動(dòng)畫(huà),核心動(dòng)畫(huà)编检,幀動(dòng)畫(huà)胎食,自定義轉(zhuǎn)場(chǎng)動(dòng)畫(huà)。 1.UIView...
    請(qǐng)叫我周小帥閱讀 3,083評(píng)論 1 23
  • 大家都知道在iOS中實(shí)現(xiàn)一個(gè)動(dòng)畫(huà)相當(dāng)簡(jiǎn)單允懂,只要調(diào)用UIView的塊代碼即可實(shí)現(xiàn)一個(gè)動(dòng)畫(huà)效果厕怜,這在其他系統(tǒng)開(kāi)發(fā)中基本...
    Kasign閱讀 930評(píng)論 0 2