前言:
本篇文章是iOS Animation 的閱讀總結(jié),其中去除了比較多的瑣碎的解釋,更多的是在大概知道Core Animation的情況下,作為一個進一步理解和當作工具書的一篇資料。
What is Animation?
相信你已經(jīng)知道了,省略
Animation Basic
所有的動畫都有一些基本屬性:它們一定要和動畫對象相關(guān)聯(lián),并且它們一定要定義動畫以什么方式表現(xiàn)和動畫的持續(xù)時間。
Animation Target Object
每個動畫都必須和一個它將要影響的虛擬元素相關(guān)聯(lián)。你可以把這個虛擬元素當作動畫目標對象。
動畫與其目標對象相關(guān)聯(lián),而其目標對象決定了動畫的開始和結(jié)束。
Type of Animation
OS X 動畫支持3種清楚的動畫類型:基礎動畫,關(guān)鍵幀動畫還有過度動畫。
1、Basic Animation
基礎動畫開啟一個過程:從一個初始數(shù)值,通過一系列的中間數(shù)值,再到達最終的數(shù)值,這個過程在一段時間內(nèi)發(fā)生。
基礎動畫可以被任意可關(guān)聯(lián)的類型所使用,包括:
- integers 和 doubles
- CGRect,CGPoint,CGSize,和CGAffineTransform結(jié)構(gòu)體
- CATransform3D 數(shù)據(jù)結(jié)構(gòu)
- CGColor 和CGImage引用
2、關(guān)鍵幀動畫
和基礎動畫相像,但是它可以讓你提供一個目標值的數(shù)組。每個數(shù)據(jù)都會被使用。關(guān)鍵幀動畫支持的類型和基礎動畫一致。并且也需要動畫在動畫目標對象上的具體屬性上表現(xiàn)。
3、過渡動畫
定義了動畫目標對象可用和消失時候的動畫。過渡動畫是使用了Core Image篩選器來表現(xiàn)的。
過渡動畫是影響動畫對象全部的,所以不需要定義某個類型。
Animation Timing
一個動畫的時間信息被一些因素定義了:持續(xù)時間(duration),步長(pacing)和重復操作(repeating behavior)。
1、Duration
它是一個時間長度,來描述動畫需要多久從開始或者當前狀態(tài)去往目標狀態(tài),用秒來描述。
2、Pacing
描述在持續(xù)時間內(nèi)的速度,是線性,還是先慢后快,還是先快后慢等。
3、Repeat
設置重復多少次或者設置重復的時間。