




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、掃一掃送大禮包無限互聯(lián)是國(guó)內(nèi)唯一一家專注于止為各大公司輸送了一大批優(yōu)秀的iOS高級(jí)和iPad研發(fā)開發(fā)培訓(xùn)機(jī)構(gòu),到目前為。隨著iOS6系統(tǒng)的發(fā)布,也在當(dāng)天陸續(xù)發(fā)布國(guó)內(nèi)首套完整的iOS開發(fā)的從入門到熟練再到精通。,手把您寫代碼,高薪就業(yè)是檢驗(yàn)一家培訓(xùn)機(jī)構(gòu)質(zhì)量的唯一標(biāo)準(zhǔn),的學(xué)員高薪就業(yè)是對(duì)的努力,感謝最好的肯定,也是前進(jìn)的最動(dòng)力,感謝對(duì)的支持!也將免費(fèi)為提供最好的就業(yè)后的技術(shù)支持!的高薪就業(yè)才是,最大的成功!掃一掃送大禮包動(dòng)畫主講:陳 為IOS動(dòng)畫類型動(dòng)畫效果是iOS界面的重要特色,使用恰當(dāng)能給用戶視覺上的體驗(yàn)iOS上的動(dòng)畫實(shí)現(xiàn)有三種方式:1. UIView動(dòng)畫,這是最基本最常用的動(dòng)畫使用方式,主要
2、改變 UIView的屬性達(dá)到動(dòng)畫效果。(例如:漸隱/漸顯)2. CATransition動(dòng)畫,主要是用于兩個(gè)視圖切換過渡的動(dòng)畫效果,系統(tǒng)內(nèi)置了幾種效果,可以直接使用。3. CAAnimation動(dòng)畫,這是ios的變的動(dòng)畫效果。動(dòng)畫,結(jié)合繪圖可以實(shí)現(xiàn)靈活多Block語法動(dòng)畫1.UIViewanimateWithDuration:0.5animations:(void)/blockself.myView.alpha = 1.0; completion:(BOOL finish) /block NSLog();2.UIViewAnimationOptions options=UIViewAnimat
3、ionOptionTransitionCurlUp | UIViewAnimationOptionCurveEaseInOut;UIViewtransitionWithVierentViewduration:3.0foptions:options animations:parentView exchangeSubviewAtIndex:page1IndexwithSubviewAtIndex:page2Index;completion:(BOOL finished) NSLog(finished %d, finished);主要方法nil+(void)setAnimationDelegate:
4、(id)delegate;NULL.+(void)setAnimationWillStartSelector:(SEL)selector;NULL+(void)setAnimationDidStopSelector:(SEL)selector;0.2+(void)setAnimationDuration:(NSTimeerval)duration;,UIViewAnimationCurveEaseInOut+(void)setAnimationCurve:(UIViewAnimationCurve)curve;0+(void)setAnimationRepeatCount:(float)rep
5、eatCount;掃一掃送大禮包無限互聯(lián)是國(guó)內(nèi)唯一一家專注于止為各大公司輸送了一大批優(yōu)秀的iOS高級(jí)和iPad研發(fā)開發(fā)培訓(xùn)機(jī)構(gòu),到目前為。隨著iOS6系統(tǒng)的發(fā)布,也在當(dāng)天陸續(xù)發(fā)布國(guó)內(nèi)首套完整的iOS開發(fā)的從入門到熟練再到精通。,手把您寫代碼,高薪就業(yè)是檢驗(yàn)一家培訓(xùn)機(jī)構(gòu)質(zhì)量的唯一標(biāo)準(zhǔn),的學(xué)員高薪就業(yè)是對(duì)的努力,感謝最好的肯定,也是前進(jìn)的最動(dòng)力,感謝對(duì)的支持!也將免費(fèi)為提供最好的就業(yè)后的技術(shù)支持!的高薪就業(yè)才是,最大的成功!動(dòng)畫Core Animation是一組非常強(qiáng)大的動(dòng)畫處理API,使用它能做出非常炫麗的動(dòng)畫效果,而且往往是事半功倍!使用它需要先添加QuartzCore.framework和引
6、入對(duì)應(yīng)的框架開發(fā)步驟:初始化一個(gè)動(dòng)畫對(duì)象(CAAnimation)并設(shè)置一些動(dòng)畫相關(guān)屬性CALayer中很多屬性都可以通過CAAnimation實(shí)現(xiàn)動(dòng)畫效果,包括:opacity、ition、transform、bounds、contents等(可以在API文檔中搜索:CALayer Animatable Properties)添加動(dòng)畫對(duì)象到層(CALayer)中,開始執(zhí)行動(dòng)畫通過調(diào)用CALayer的addAnimation:forKey增加動(dòng)畫到層(CALayer)中,這樣就能觸發(fā)動(dòng)畫了。通過調(diào)用removeAnimationForKey可以停止層中的動(dòng)畫Core Animation的動(dòng)畫執(zhí)
7、行過程都是在操作的,不會(huì)阻塞主線程CAAnimation繼承結(jié)構(gòu)CAAnimation是所有動(dòng)畫對(duì)象的父類,負(fù)責(zé)控制動(dòng)畫的持續(xù)時(shí)間和速度,是個(gè)抽象類,不能直接使用,應(yīng)該使用它具體的子類屬性說明:(紅色代表來自CAMediaTiming協(xié)議的屬性)duration:動(dòng)畫的持續(xù)時(shí)間repeatCount:重復(fù)次數(shù),無限循環(huán)可以設(shè)置HUGE_VALF或者M(jìn)AXFLOATrepeatDuration:重復(fù)時(shí)間pletion:默認(rèn)為YES,代表動(dòng)畫執(zhí)行完畢后就從圖層上移除,圖形會(huì)恢復(fù)到動(dòng)畫執(zhí)行前的狀態(tài)。如果想讓圖層保持顯示動(dòng)畫執(zhí)行后的狀態(tài),那就設(shè)置為NO,不過還要設(shè)置fillMode為kCAFillMo
8、deForwardsfillMode:決定當(dāng)前對(duì)象在非active時(shí)間段的行為。比如動(dòng)畫開始之前或者動(dòng)畫結(jié)束之后begime:可以用來設(shè)置動(dòng)畫延遲執(zhí)行時(shí)間,若想延遲2s,就設(shè)置為CACurrentMediaTime()+2,CACurrentMediaTime()為圖層的當(dāng)前時(shí)間timingFunction:速度控制函數(shù),控制動(dòng)畫運(yùn)行的節(jié)奏delegate:動(dòng)畫CAAnimation 動(dòng)畫填充模式fillMode屬性 (要想fillMode有效,最好設(shè)置pletion = NO)kCAFillModeRemoved 默認(rèn)值,動(dòng)畫開始前和動(dòng)畫結(jié)束后,動(dòng)畫對(duì)layer都沒有影響,動(dòng)畫結(jié)束后,lay
9、er會(huì)恢復(fù)到動(dòng)畫開始前的狀態(tài)kCAFillModeForwards當(dāng)動(dòng)畫結(jié)束后,layer會(huì)保持動(dòng)畫最后的現(xiàn)實(shí)狀態(tài)kCAFillModeBackwards 在動(dòng)畫開始前,只需要將動(dòng)畫加入了一個(gè)layer, layer便立即進(jìn)入動(dòng)畫的初始狀態(tài)并等待動(dòng)畫的開始kCAFillModeBoth 上面兩個(gè)的,動(dòng)畫加入后開始前,layer便處于動(dòng)畫初始狀態(tài),動(dòng)畫結(jié)束后layer保持動(dòng)畫最后的狀態(tài)CAAnimation 速度控制函數(shù)速度控制函數(shù)(CAMediaTimingFunction)kCAMediaTimingFunctionLinear(線性):勻速,給你一個(gè)相對(duì)靜態(tài)的感覺kCAMediaTimin
10、gFunctionEaseIn(漸進(jìn)):動(dòng)畫緩慢進(jìn)入,然后加速離開kCAMediaTimingFunctionEaseOut(漸出):動(dòng)畫全速進(jìn)入,然后的到達(dá)目的地kCAMediaTimingFunctionEaseInEaseOut(漸進(jìn)漸出):動(dòng)畫緩慢的進(jìn)入,中間加速,然后的到達(dá)目的地。這個(gè)是默認(rèn)的動(dòng)畫行為。CAAnimation方法CAAnimation在分類中定義了方法erfaceNSObject(CAAnimationDelegate)/*/-(void)animationDidStart:(CAAnimation*)anim;/*/-(void)animationDidStop:(
11、CAAnimation*)animfinished:(BOOL)flag;end動(dòng)畫的暫停與恢復(fù)/ -(void)pauseLayer:(CALayer*)layerCFTimeerval pausedTime = layer convertTime:CACurrentMediaTime()fromLayer:nil;/ CALayerlayer.speed = 0.0;/ CALayerpausedTimelayer.timeOffset = pausedTime;/ -(void)resumeLayer:(CALayer*)layerCFTimeerval pausedTime = lay
12、er.timeOffset;/ 1. CALayerlayer.speed = 1.0;/ 2. layer.timeOffset = 0.0;/ 3. layer.begime = 0.0;/ 4. (CACurrentMediaTime()-pausedTime)CFTime pausedTime;erval timeSincePause = layer convertTime:CACurrentMediaTime()fromLayer:nil -/ 5. (timeSincePause)layer.begime = timeSincePause;CAPropertyAnimation是C
13、AAnimation的子類,也是個(gè)抽象類,要想創(chuàng)建動(dòng)畫對(duì)象,應(yīng)該使用它的兩個(gè)子類CABasicAnimationCAKeyframeAnimation屬性說明:keyPath:通過指定CALayer的一個(gè)屬性名稱為keyPath(NSString類型),并且對(duì)CALayer的這個(gè)屬性的值進(jìn)行修改,達(dá)到相應(yīng)的動(dòng)畫效果。比如,指定“畫效果ition”為keyPath,就修改CALayer的ition屬性的值,以達(dá)到平移的動(dòng)CABasicAnimation 基本動(dòng)畫基本動(dòng)畫,是CAPropertyAnimation的子類屬性說明:fromValue:keyPath相應(yīng)屬性的初始值toValue:ke
14、yPath相應(yīng)屬性的結(jié)束值動(dòng)畫過程說明:隨著動(dòng)畫的進(jìn)行,在長(zhǎng)度為duration的持續(xù)時(shí)間內(nèi),keyPath相應(yīng)屬性的值從fromValue漸漸地變?yōu)閠oValuekeyPath內(nèi)容是CALayer的可動(dòng)畫Animatable屬性如果fillMode=kCAFillModeFo同時(shí)letion=NO,那么在動(dòng)畫執(zhí)行完畢后,圖層會(huì)保持顯示動(dòng)畫執(zhí)行后的狀態(tài)。但在實(shí)質(zhì)上,圖層的屬性值還是動(dòng)畫執(zhí)行前的初始值,并沒有真正被改變。CAKeyframeAnimation 關(guān)鍵幀動(dòng)畫關(guān)鍵幀動(dòng)畫,也是CAPropertyAnimation的子類,與CABasicAnimation的區(qū)別是CABasicAnima
15、tion只能從一個(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的anchorPoition起作用。如果設(shè)置了path,那么values將被忽略和keyTimes:可以為對(duì)應(yīng)的關(guān)鍵幀指定對(duì)應(yīng)的時(shí)間點(diǎn),其
16、取值范圍為0到1.0,keyTimes中的每一個(gè)時(shí)間值都對(duì)應(yīng)values中的每一幀。如果沒有設(shè)置keyTimes,各個(gè)關(guān)鍵幀的時(shí)間是平分的CABasicAnimation可看做是只有2個(gè)關(guān)鍵幀的CAKeyframeAnimationCAKeyframeAnimation 關(guān)鍵幀動(dòng)畫CAAnimationGroup 動(dòng)畫組動(dòng)畫組,是CAAnimation的子類,可以保存一組動(dòng)畫對(duì)象,將CAAnimationGroup對(duì)象加入層后,組中所有動(dòng)畫對(duì)象可以同時(shí)并發(fā)運(yùn)行屬性說明:animations:用來保存一組動(dòng)畫對(duì)象的NSArray默認(rèn)情況下,一組動(dòng)畫對(duì)象是同時(shí)運(yùn)行的,也可以通過設(shè)置動(dòng)畫對(duì)象的beg
17、屬性來更改動(dòng)畫的開始時(shí)間imeCATransition 轉(zhuǎn)場(chǎng)動(dòng)畫CATransition是CAAnimation的子類,用于做轉(zhuǎn)場(chǎng)動(dòng)畫,能夠?yàn)閷犹峁┮瞥銎聊缓鸵迫肫聊坏膭?dòng)畫效果。iOS比Mac OS X的轉(zhuǎn)場(chǎng)動(dòng)畫效果少一點(diǎn)UINavigationController就是通過CATransition實(shí)現(xiàn)了將控制器的視圖推入屏幕的動(dòng)畫效果動(dòng)畫屬性:type:動(dòng)畫過渡類型subtype:動(dòng)畫過渡方向startProgress:動(dòng)畫起點(diǎn)(在整體動(dòng)畫的百分比)endProgress:動(dòng)畫終點(diǎn)(在整體動(dòng)畫的百分比)轉(zhuǎn)場(chǎng)動(dòng)畫過渡效果9? 7 -% ? 6!#$ %&()*+8*1 *12 &%&,-.$/0
18、8*1 *1($%&1$.$2 *17 *)49&!$4:+.7 ;! ;18(2$&!$4:, 7 ;0=)1263 :7 4,$1/18*?-22-($05 0 7 ;4,$1/18*?-22-=2-*$5 0 7 ;CATransition轉(zhuǎn)場(chǎng)動(dòng)畫CATransition*animation=CATransition/animation;animation.delegate animation.duration=self; 1.0;/UIViewAnimationCurveEaseInOut;animation.timingFunction=/animation.type/=kCATransitionPush;animation.subtype=
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 白酒銷售2025年度工作方案
- 2025年疫情應(yīng)急管理工作方案
- PHP程序設(shè)計(jì)項(xiàng)目化教程(微課版) 課件全套 臧金梅 項(xiàng)目1-7 啟程探索PHP世界-學(xué)生信息管理系統(tǒng)
- 2025年學(xué)校學(xué)雷鋒活動(dòng)策劃方案
- 《電子技術(shù)項(xiàng)目化教程》課件 項(xiàng)目三 溫度控制器的制作與調(diào)試
- 《PHP開發(fā)技術(shù)》考試題(4)及答案
- PHP程序設(shè)計(jì)項(xiàng)目化教程電子教案15 問卷統(tǒng)計(jì)器-文件和目錄操作
- 2025年電動(dòng)吊飛圣誕老人項(xiàng)目可行性研究報(bào)告
- 2025年照相機(jī)閃光線路板組件項(xiàng)目可行性研究報(bào)告
- 云南省江川第二中學(xué)2025年高三下學(xué)期第三次月考英語試題文試題含解析
- (2023年度)中央廚房、集體供餐配送單位食品安全全項(xiàng)目自查記錄表
- 土的滲透性完整版本
- 強(qiáng)化業(yè)務(wù)運(yùn)營(yíng)管理優(yōu)化業(yè)務(wù)流程的工作總結(jié)及計(jì)劃
- 獼猴桃果醬制作方法
- 逆變器行業(yè)營(yíng)銷策略方案
- 國(guó)民經(jīng)濟(jì)行業(yè)分類與代碼
- 網(wǎng)絡(luò)互連技術(shù)-管控IP數(shù)據(jù)通信ACL(訪問控制列表)
- 幼兒園故事課件:《狼來了》
- 小學(xué)英語公開課The-Hug課件
- 第十章 思想政治教育的方法和藝術(shù)
- 堿柜治超大隊(duì)檢測(cè)站應(yīng)急預(yù)案
評(píng)論
0/150
提交評(píng)論