




下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、掃一掃送大禮包無限互聯(lián)是國內唯一一家專注于止為各大公司輸送了一大批優(yōu)秀的iOS高級和iPad研發(fā)開發(fā)培訓機構,到目前為。隨著iOS6系統(tǒng)的發(fā)布,也在當天陸續(xù)發(fā)布國內首套完整的iOS開發(fā)的從入門到熟練再到精通。,手把您寫代碼,高薪就業(yè)是檢驗一家培訓機構質量的唯一標準,的學員高薪就業(yè)是對的努力,感謝最好的肯定,也是前進的最動力,感謝對的支持!也將免費為提供最好的就業(yè)后的技術支持!的高薪就業(yè)才是,最大的成功!掃一掃送大禮包動畫主講:陳 為IOS動畫類型動畫效果是iOS界面的重要特色,使用恰當能給用戶視覺上的體驗iOS上的動畫實現(xiàn)有三種方式:1. UIView動畫,這是最基本最常用的動畫使用方式,主要
2、改變 UIView的屬性達到動畫效果。(例如:漸隱/漸顯)2. CATransition動畫,主要是用于兩個視圖切換過渡的動畫效果,系統(tǒng)內置了幾種效果,可以直接使用。3. CAAnimation動畫,這是ios的變的動畫效果。動畫,結合繪圖可以實現(xiàn)靈活多Block語法動畫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)是國內唯一一家專注于止為各大公司輸送了一大批優(yōu)秀的iOS高級和iPad研發(fā)開發(fā)培訓機構,到目前為。隨著iOS6系統(tǒng)的發(fā)布,也在當天陸續(xù)發(fā)布國內首套完整的iOS開發(fā)的從入門到熟練再到精通。,手把您寫代碼,高薪就業(yè)是檢驗一家培訓機構質量的唯一標準,的學員高薪就業(yè)是對的努力,感謝最好的肯定,也是前進的最動力,感謝對的支持!也將免費為提供最好的就業(yè)后的技術支持!的高薪就業(yè)才是,最大的成功!動畫Core Animation是一組非常強大的動畫處理API,使用它能做出非常炫麗的動畫效果,而且往往是事半功倍!使用它需要先添加QuartzCore.framework和引
6、入對應的框架開發(fā)步驟:初始化一個動畫對象(CAAnimation)并設置一些動畫相關屬性CALayer中很多屬性都可以通過CAAnimation實現(xiàn)動畫效果,包括:opacity、ition、transform、bounds、contents等(可以在API文檔中搜索:CALayer Animatable Properties)添加動畫對象到層(CALayer)中,開始執(zhí)行動畫通過調用CALayer的addAnimation:forKey增加動畫到層(CALayer)中,這樣就能觸發(fā)動畫了。通過調用removeAnimationForKey可以停止層中的動畫Core Animation的動畫執(zhí)
7、行過程都是在操作的,不會阻塞主線程CAAnimation繼承結構CAAnimation是所有動畫對象的父類,負責控制動畫的持續(xù)時間和速度,是個抽象類,不能直接使用,應該使用它具體的子類屬性說明:(紅色代表來自CAMediaTiming協(xié)議的屬性)duration:動畫的持續(xù)時間repeatCount:重復次數(shù),無限循環(huán)可以設置HUGE_VALF或者MAXFLOATrepeatDuration:重復時間pletion:默認為YES,代表動畫執(zhí)行完畢后就從圖層上移除,圖形會恢復到動畫執(zhí)行前的狀態(tài)。如果想讓圖層保持顯示動畫執(zhí)行后的狀態(tài),那就設置為NO,不過還要設置fillMode為kCAFillMo
8、deForwardsfillMode:決定當前對象在非active時間段的行為。比如動畫開始之前或者動畫結束之后begime:可以用來設置動畫延遲執(zhí)行時間,若想延遲2s,就設置為CACurrentMediaTime()+2,CACurrentMediaTime()為圖層的當前時間timingFunction:速度控制函數(shù),控制動畫運行的節(jié)奏delegate:動畫CAAnimation 動畫填充模式fillMode屬性 (要想fillMode有效,最好設置pletion = NO)kCAFillModeRemoved 默認值,動畫開始前和動畫結束后,動畫對layer都沒有影響,動畫結束后,lay
9、er會恢復到動畫開始前的狀態(tài)kCAFillModeForwards當動畫結束后,layer會保持動畫最后的現(xiàn)實狀態(tài)kCAFillModeBackwards 在動畫開始前,只需要將動畫加入了一個layer, layer便立即進入動畫的初始狀態(tài)并等待動畫的開始kCAFillModeBoth 上面兩個的,動畫加入后開始前,layer便處于動畫初始狀態(tài),動畫結束后layer保持動畫最后的狀態(tài)CAAnimation 速度控制函數(shù)速度控制函數(shù)(CAMediaTimingFunction)kCAMediaTimingFunctionLinear(線性):勻速,給你一個相對靜態(tài)的感覺kCAMediaTimin
10、gFunctionEaseIn(漸進):動畫緩慢進入,然后加速離開kCAMediaTimingFunctionEaseOut(漸出):動畫全速進入,然后的到達目的地kCAMediaTimingFunctionEaseInEaseOut(漸進漸出):動畫緩慢的進入,中間加速,然后的到達目的地。這個是默認的動畫行為。CAAnimation方法CAAnimation在分類中定義了方法erfaceNSObject(CAAnimationDelegate)/*/-(void)animationDidStart:(CAAnimation*)anim;/*/-(void)animationDidStop:(
11、CAAnimation*)animfinished:(BOOL)flag;end動畫的暫停與恢復/ -(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的子類,也是個抽象類,要想創(chuàng)建動畫對象,應該使用它的兩個子類CABasicAnimationCAKeyframeAnimation屬性說明:keyPath:通過指定CALayer的一個屬性名稱為keyPath(NSString類型),并且對CALayer的這個屬性的值進行修改,達到相應的動畫效果。比如,指定“畫效果ition”為keyPath,就修改CALayer的ition屬性的值,以達到平移的動CABasicAnimation 基本動畫基本動畫,是CAPropertyAnimation的子類屬性說明:fromValue:keyPath相應屬性的初始值toValue:ke
14、yPath相應屬性的結束值動畫過程說明:隨著動畫的進行,在長度為duration的持續(xù)時間內,keyPath相應屬性的值從fromValue漸漸地變?yōu)閠oValuekeyPath內容是CALayer的可動畫Animatable屬性如果fillMode=kCAFillModeFo同時letion=NO,那么在動畫執(zhí)行完畢后,圖層會保持顯示動畫執(zhí)行后的狀態(tài)。但在實質上,圖層的屬性值還是動畫執(zhí)行前的初始值,并沒有真正被改變。CAKeyframeAnimation 關鍵幀動畫關鍵幀動畫,也是CAPropertyAnimation的子類,與CABasicAnimation的區(qū)別是CABasicAnima
15、tion只能從一個數(shù)值(fromValue)變到另一個數(shù)值(toValue),而CAKeyframeAnimation會使用一個NSArray保存這些數(shù)值屬性說明:values:上述的NSArray對象。里面的元素稱為“關鍵幀”(keyframe)。動畫對象會在指定的時間(duration)內,依次顯示values數(shù)組中的每一個關鍵幀path:可以設置一個CGPathRef、CGMutablePathRef,讓圖層按照路徑軌跡移動。path只對CALayer的anchorPoition起作用。如果設置了path,那么values將被忽略和keyTimes:可以為對應的關鍵幀指定對應的時間點,其
16、取值范圍為0到1.0,keyTimes中的每一個時間值都對應values中的每一幀。如果沒有設置keyTimes,各個關鍵幀的時間是平分的CABasicAnimation可看做是只有2個關鍵幀的CAKeyframeAnimationCAKeyframeAnimation 關鍵幀動畫CAAnimationGroup 動畫組動畫組,是CAAnimation的子類,可以保存一組動畫對象,將CAAnimationGroup對象加入層后,組中所有動畫對象可以同時并發(fā)運行屬性說明:animations:用來保存一組動畫對象的NSArray默認情況下,一組動畫對象是同時運行的,也可以通過設置動畫對象的beg
17、屬性來更改動畫的開始時間imeCATransition 轉場動畫CATransition是CAAnimation的子類,用于做轉場動畫,能夠為層提供移出屏幕和移入屏幕的動畫效果。iOS比Mac OS X的轉場動畫效果少一點UINavigationController就是通過CATransition實現(xiàn)了將控制器的視圖推入屏幕的動畫效果動畫屬性:type:動畫過渡類型subtype:動畫過渡方向startProgress:動畫起點(在整體動畫的百分比)endProgress:動畫終點(在整體動畫的百分比)轉場動畫過渡效果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轉場動畫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等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 自建樓房買賣合同
- 房產(chǎn)抵押反擔保合同
- 企業(yè)信息化管理系統(tǒng)建設與維護合同
- 體育賽事活動策劃與執(zhí)行合同
- 養(yǎng)豬場生產(chǎn)經(jīng)營合同
- 重慶護理職業(yè)學院《化工儀表自動化》2023-2024學年第二學期期末試卷
- Unit 2 Topic 1 Section C 教學設計 2024-2025學年仁愛科普版八年級英語上冊
- 沈陽科技學院《漆畫創(chuàng)作》2023-2024學年第二學期期末試卷
- 《人的正確的思想從哪里來》教學設計
- 哈爾濱學院《文化創(chuàng)意理論與實踐》2023-2024學年第二學期期末試卷
- 教學課件-電力系統(tǒng)的MATLAB-SIMULINK仿真與應用(王晶)
- GB/T 26189.2-2024工作場所照明第2部分:室外作業(yè)場所的安全保障照明要求
- 新教科版一年級科學下冊第一單元《身邊的物體》全部課件(共7課時)
- 鹽城江蘇鹽城市住房和城鄉(xiāng)建設局直屬事業(yè)單位市政府投資工程集中建設管理中心招聘4人筆試歷年參考題庫附帶答案詳解
- 2024年黑龍江職業(yè)學院高職單招語文歷年參考題庫含答案解析
- 醫(yī)院教學秘書培訓
- 2025江蘇常州西太湖科技產(chǎn)業(yè)園管委會事業(yè)單位招聘8人歷年高頻重點提升(共500題)附帶答案詳解
- 2025年北京控股集團有限公司招聘筆試參考題庫含答案解析
- 小學教室衛(wèi)生管理
- 2024年北京東城社區(qū)工作者招聘筆試真題
- 信息技術必修一《數(shù)據(jù)與計算》第三章第三節(jié)《數(shù)據(jù)分析報告與應用》說課稿
評論
0/150
提交評論