IOS 核心動(dòng)畫之CAKeyframeAnimation

原文http://www.cnblogs.com/iBaby/p/3818445.html

- 簡(jiǎn)單介紹

是CApropertyAnimation的子類,跟CABasicAnimation的區(qū)別是:CABasicAnimation只能從一個(gè)數(shù)值(fromValue)變到另一個(gè)數(shù)值(toValue)攻走,而CAKeyframeAnimation會(huì)使用一個(gè)NSArray保存這些數(shù)值

- 屬性解析:

- values:就是上述的NSArray對(duì)象蚯斯。里面的元素稱為”關(guān)鍵幀”(keyframe)。動(dòng)畫對(duì)象會(huì)在指定的時(shí)間(duration)內(nèi)牢贸,依次顯示values數(shù)組中的每一個(gè)關(guān)鍵幀

- path:可以設(shè)置一個(gè)CGPathRef\CGMutablePathRef,讓層跟著路徑移動(dòng)竹观。path只對(duì)CALayer的anchorPoint和position起作用。如果你設(shè)置了path潜索,那么values將被忽略

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

- 說明:CABasicAnimation可看做是最多只有2個(gè)關(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];

- keyPath可以使用的key

- #define angle2Radian(angle) ((angle)/180.0*M_PI)

- transform.rotation.x 圍繞x軸翻轉(zhuǎn) 參數(shù):角度 angle2Radian(4)

transform.rotation.y 圍繞y軸翻轉(zhuǎn) 參數(shù):同上

transform.rotation.z 圍繞z軸翻轉(zhuǎn) 參數(shù):同上

transform.rotation 默認(rèn)圍繞z軸

transform.scale.x x方向縮放 參數(shù):縮放比例 1.5

transform.scale.y y方向縮放 參數(shù):同上

transform.scale.z z方向縮放 參數(shù):同上

transform.scale 所有方向縮放 參數(shù):同上

transform.translation.x x方向移動(dòng) 參數(shù):x軸上的坐標(biāo) 100

transform.translation.y x方向移動(dòng) 參數(shù):y軸上的坐標(biāo)

transform.translation.z x方向移動(dòng) 參數(shù):z軸上的坐標(biāo)

transform.translation 移動(dòng) 參數(shù):移動(dòng)到的點(diǎn) (100臭增,100)

opacity 透明度 參數(shù):透明度 0.5

backgroundColor 背景顏色 參數(shù):顏色 (id)[[UIColor redColor] CGColor]

cornerRadius 圓角 參數(shù):圓角半徑 5

borderWidth 邊框?qū)挾?參數(shù):邊框?qū)挾?5

bounds 大小 參數(shù):CGRect

contents 內(nèi)容 參數(shù):CGImage

contentsRect 可視內(nèi)容 參數(shù):CGRect 值是0~1之間的小數(shù)

hidden 是否隱藏

position

shadowColor

shadowOffset

shadowOpacity

shadowRadius

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市竹习,隨后出現(xiàn)的幾起案子誊抛,更是在濱河造成了極大的恐慌,老刑警劉巖整陌,帶你破解...
    沈念sama閱讀 216,997評(píng)論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件拗窃,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡泌辫,警方通過查閱死者的電腦和手機(jī)随夸,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,603評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)震放,“玉大人宾毒,你說我怎么就攤上這事±浇粒” “怎么了伍俘?”我有些...
    開封第一講書人閱讀 163,359評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)勉躺。 經(jīng)常有香客問我癌瘾,道長(zhǎng),這世上最難降的妖魔是什么饵溅? 我笑而不...
    開封第一講書人閱讀 58,309評(píng)論 1 292
  • 正文 為了忘掉前任妨退,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘咬荷。我一直安慰自己冠句,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,346評(píng)論 6 390
  • 文/花漫 我一把揭開白布幸乒。 她就那樣靜靜地躺著懦底,像睡著了一般。 火紅的嫁衣襯著肌膚如雪罕扎。 梳的紋絲不亂的頭發(fā)上聚唐,一...
    開封第一講書人閱讀 51,258評(píng)論 1 300
  • 那天,我揣著相機(jī)與錄音腔召,去河邊找鬼杆查。 笑死,一個(gè)胖子當(dāng)著我的面吹牛臀蛛,可吹牛的內(nèi)容都是我干的亲桦。 我是一名探鬼主播,決...
    沈念sama閱讀 40,122評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼浊仆,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼客峭!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起氧卧,我...
    開封第一講書人閱讀 38,970評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤桃笙,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后沙绝,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,403評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡鼠锈,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,596評(píng)論 3 334
  • 正文 我和宋清朗相戀三年闪檬,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片购笆。...
    茶點(diǎn)故事閱讀 39,769評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡粗悯,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出同欠,到底是詐尸還是另有隱情样傍,我是刑警寧澤,帶...
    沈念sama閱讀 35,464評(píng)論 5 344
  • 正文 年R本政府宣布铺遂,位于F島的核電站衫哥,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏襟锐。R本人自食惡果不足惜撤逢,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,075評(píng)論 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧蚊荣,春花似錦初狰、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,705評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至媳叨,卻和暖如春腥光,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背肩杈。 一陣腳步聲響...
    開封第一講書人閱讀 32,848評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工柴我, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人扩然。 一個(gè)月前我還...
    沈念sama閱讀 47,831評(píng)論 2 370
  • 正文 我出身青樓艘儒,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親夫偶。 傳聞我的和親對(duì)象是個(gè)殘疾皇子界睁,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,678評(píng)論 2 354

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