iOS核心動畫 - 關(guān)鍵幀動畫

  • 簡單介紹

是CApropertyAnimation的子類闪水,跟CABasicAnimation的區(qū)別是:CABasicAnimation只能從一個數(shù)值(fromValue)變到另一個數(shù)值(toValue)慷丽,而CAKeyframeAnimation會使用一個NSArray保存這些數(shù)值

  • 屬性解析:

  • values:就是上述的NSArray對象时捌。里面的元素稱為”關(guān)鍵幀”(keyframe)乍丈。動畫對象會在指定的時間(duration)內(nèi)叨粘,依次顯示values數(shù)組中的每一個關(guān)鍵幀

  • path:可以設(shè)置一個CGPathRef\CGMutablePathRef,讓層跟著路徑移動虹茶。path只對CALayer的anchorPoint和position起作用疑故。如果你設(shè)置了path撮奏,那么values將被忽略

  • keyTimes:可以為對應(yīng)的關(guān)鍵幀指定對應(yīng)的時間點,其取值范圍為0到1.0,keyTimes中的每一個時間值都對應(yīng)values中的每一幀.當(dāng)keyTimes沒有設(shè)置的時候,各個關(guān)鍵幀的時間是平分的

  • 說明:CABasicAnimation可看做是最多只有2個關(guān)鍵幀的CAKeyframeAnimation

  • Values方式:

  • CAKeyframeAnimation *animation = [CAKeyframeAnimation animation];
    animation.keyPath = @"position";
    NSValue *value1=[NSValue valueWithCGPoint:CGPointMake(100, 100)];
    NSValue *value2=[NSValue valueWithCGPoint:CGPointMake(200, 100)];
    NSValue *value3=[NSValue valueWithCGPoint:CGPointMake(200, 200)];
    NSValue *value4=[NSValue valueWithCGPoint:CGPointMake(100, 200)];
    NSValue *value5=[NSValue valueWithCGPoint:CGPointMake(100, 100)];
    animation.values=@[value1,value2,value3,value4,value5]; animation.repeatCount=MAXFLOAT;
    animation.removedOnCompletion = NO;
    animation.fillMode = kCAFillModeForwards;
    animation.duration = 4.0f;
    animation.timingFunction=[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
    animation.delegate=self;
    [self.myView.layer addAnimation:animation forKey:nil];

  • Path方式:

  • CAKeyframeAnimation *animation = [CAKeyframeAnimation animation];
    animation.keyPath = @"position";
    CGMutablePathRef path=CGPathCreateMutable();
    CGPathAddEllipseInRect(path, NULL, CGRectMake(150, 100, 100, 100));
    animation.path=path;
    CGPathRelease(path);
    animation.repeatCount=MAXFLOAT;
    animation.removedOnCompletion = NO;
    animation.fillMode = kCAFillModeForwards;
    animation.duration = 4.0f;
    animation.timingFunction=[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
    animation.delegate=self;
    [self.myView.layer addAnimation:animation forKey:nil];

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末俏讹,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子畜吊,更是在濱河造成了極大的恐慌泽疆,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,635評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件玲献,死亡現(xiàn)場離奇詭異殉疼,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)捌年,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,543評論 3 399
  • 文/潘曉璐 我一進(jìn)店門瓢娜,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人礼预,你說我怎么就攤上這事眠砾。” “怎么了逆瑞?”我有些...
    開封第一講書人閱讀 168,083評論 0 360
  • 文/不壞的土叔 我叫張陵荠藤,是天一觀的道長。 經(jīng)常有香客問我获高,道長哈肖,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,640評論 1 296
  • 正文 為了忘掉前任念秧,我火速辦了婚禮淤井,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘摊趾。我一直安慰自己币狠,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 68,640評論 6 397
  • 文/花漫 我一把揭開白布砾层。 她就那樣靜靜地躺著漩绵,像睡著了一般。 火紅的嫁衣襯著肌膚如雪肛炮。 梳的紋絲不亂的頭發(fā)上止吐,一...
    開封第一講書人閱讀 52,262評論 1 308
  • 那天宝踪,我揣著相機(jī)與錄音,去河邊找鬼碍扔。 笑死瘩燥,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的不同。 我是一名探鬼主播厉膀,決...
    沈念sama閱讀 40,833評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼二拐!你這毒婦竟也來了服鹅?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,736評論 0 276
  • 序言:老撾萬榮一對情侶失蹤百新,失蹤者是張志新(化名)和其女友劉穎菱魔,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體吟孙,經(jīng)...
    沈念sama閱讀 46,280評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡澜倦,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,369評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了杰妓。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片藻治。...
    茶點故事閱讀 40,503評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖巷挥,靈堂內(nèi)的尸體忽然破棺而出桩卵,到底是詐尸還是另有隱情,我是刑警寧澤倍宾,帶...
    沈念sama閱讀 36,185評論 5 350
  • 正文 年R本政府宣布雏节,位于F島的核電站,受9級特大地震影響高职,放射性物質(zhì)發(fā)生泄漏钩乍。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,870評論 3 333
  • 文/蒙蒙 一怔锌、第九天 我趴在偏房一處隱蔽的房頂上張望寥粹。 院中可真熱鬧,春花似錦埃元、人聲如沸涝涤。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,340評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽阔拳。三九已至,卻和暖如春类嗤,著一層夾襖步出監(jiān)牢的瞬間糊肠,已是汗流浹背裳瘪。 一陣腳步聲響...
    開封第一講書人閱讀 33,460評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留罪针,地道東北人。 一個月前我還...
    沈念sama閱讀 48,909評論 3 376
  • 正文 我出身青樓黄伊,卻偏偏與公主長得像泪酱,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子还最,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,512評論 2 359

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