前言:
本篇文章是iOS Animation 的閱讀總結(jié)罩抗,其中去除了比較多的瑣碎的解釋滨嘱,更多的是在大概知道Core Animation的情況下峰鄙,作為一個(gè)進(jìn)一步理解和當(dāng)作工具書的一篇資料。
What is Animation九孩?
相信你已經(jīng)知道了先馆,省略
Animation Basic
所有的動(dòng)畫都有一些基本屬性:它們一定要和動(dòng)畫對(duì)象相關(guān)聯(lián),并且它們一定要定義動(dòng)畫以什么方式表現(xiàn)和動(dòng)畫的持續(xù)時(shí)間躺彬。
Animation Target Object
每個(gè)動(dòng)畫都必須和一個(gè)它將要影響的虛擬元素相關(guān)聯(lián)煤墙。你可以把這個(gè)虛擬元素當(dāng)作動(dòng)畫目標(biāo)對(duì)象。
動(dòng)畫與其目標(biāo)對(duì)象相關(guān)聯(lián)宪拥,而其目標(biāo)對(duì)象決定了動(dòng)畫的開(kāi)始和結(jié)束仿野。
Type of Animation
OS X 動(dòng)畫支持3種清楚的動(dòng)畫類型:基礎(chǔ)動(dòng)畫,關(guān)鍵幀動(dòng)畫還有過(guò)度動(dòng)畫她君。
1脚作、Basic Animation
基礎(chǔ)動(dòng)畫開(kāi)啟一個(gè)過(guò)程:從一個(gè)初始數(shù)值,通過(guò)一系列的中間數(shù)值,再到達(dá)最終的數(shù)值球涛,這個(gè)過(guò)程在一段時(shí)間內(nèi)發(fā)生劣针。
基礎(chǔ)動(dòng)畫可以被任意可關(guān)聯(lián)的類型所使用,包括:
- integers 和 doubles
- CGRect亿扁,CGPoint捺典,CGSize,和CGAffineTransform結(jié)構(gòu)體
- CATransform3D 數(shù)據(jù)結(jié)構(gòu)
- CGColor 和CGImage引用
2从祝、關(guān)鍵幀動(dòng)畫
和基礎(chǔ)動(dòng)畫相像襟己,但是它可以讓你提供一個(gè)目標(biāo)值的數(shù)組。每個(gè)數(shù)據(jù)都會(huì)被使用牍陌。關(guān)鍵幀動(dòng)畫支持的類型和基礎(chǔ)動(dòng)畫一致擎浴。并且也需要?jiǎng)赢嬙趧?dòng)畫目標(biāo)對(duì)象上的具體屬性上表現(xiàn)。
3毒涧、過(guò)渡動(dòng)畫
定義了動(dòng)畫目標(biāo)對(duì)象可用和消失時(shí)候的動(dòng)畫贮预。過(guò)渡動(dòng)畫是使用了Core Image篩選器來(lái)表現(xiàn)的。
過(guò)渡動(dòng)畫是影響動(dòng)畫對(duì)象全部的链嘀,所以不需要定義某個(gè)類型萌狂。
Animation Timing
一個(gè)動(dòng)畫的時(shí)間信息被一些因素定義了:持續(xù)時(shí)間(duration),步長(zhǎng)(pacing)和重復(fù)操作(repeating behavior)怀泊。
1、Duration
它是一個(gè)時(shí)間長(zhǎng)度误趴,來(lái)描述動(dòng)畫需要多久從開(kāi)始或者當(dāng)前狀態(tài)去往目標(biāo)狀態(tài)霹琼,用秒來(lái)描述。
2凉当、Pacing
描述在持續(xù)時(shí)間內(nèi)的速度枣申,是線性,還是先慢后快看杭,還是先快后慢等忠藤。
3、Repeat
設(shè)置重復(fù)多少次或者設(shè)置重復(fù)的時(shí)間楼雹。