CoreAnimation 簡(jiǎn)介
CoreAnimation 可用在 Mac OS X和iOS平臺(tái)
CoreAnimation 的動(dòng)畫執(zhí)行過(guò)程都是在后臺(tái)操作的源武,不會(huì)阻塞主線程入蛆。
CoreAnimation 是直接作用在CALayer 上的昨忆,并不是UIView俺叭。
用一張圖來(lái)簡(jiǎn)要介紹一下核心動(dòng)畫成員之間的關(guān)系另玖。
640.jpeg
關(guān)于Animation 的架構(gòu)
640.jpeg
核心動(dòng)畫與UIView動(dòng)畫的區(qū)別
核心動(dòng)畫的一切都是假象,并不會(huì)真是改變layer的值
UIView 真實(shí)改變屬性才能有動(dòng)畫
使用場(chǎng)景:
UIView 用在需要交互的地方
核心動(dòng)畫用在不需要交互的地方簿姨。
CAAnimation 子類
關(guān)鍵幀動(dòng)畫
CAKeyframeAnimation 簡(jiǎn)介
關(guān)鍵幀動(dòng)畫梅惯,是CAPropertyAnimation的子類
與 CABasicAniamtion 的區(qū)別是CABasicAniamtion是從fromValue 到toValue 兩個(gè)值的變化,而 CAKeyframeAnimation 可以使用 NSArray 來(lái)保存這些數(shù)值自娩。
屬性說(shuō)明:
values:NSArray 對(duì)象用踩,里面的元素就是“關(guān)鍵幀”,動(dòng)畫會(huì)在指定的時(shí)間內(nèi)忙迁,依次顯示 values 數(shù)組中的每一個(gè)關(guān)鍵幀脐彩。
path:可以設(shè)置CGPathRef、CGMutablePathRef姊扔,讓圖層按照軌跡移動(dòng)惠奸,path只對(duì)CALayer的 anchorPoint 和 point 起作用。如果設(shè)置了path恰梢, 那么values將被忽略佛南。
keyTimes:關(guān)鍵幀指定對(duì)應(yīng)的時(shí)間點(diǎn),取值范圍從0~1嵌言,keyTimes中的每一個(gè)時(shí)間值對(duì)應(yīng)values中的每一幀嗅回,如果沒有設(shè)置,時(shí)間是平分的摧茴。
CABasicAniamtion 可看做 只有兩個(gè)關(guān)鍵幀的CAKeyframeAnimation
動(dòng)畫組CAAnimationGroup
CAAnimationGroup
是 CAAnimation 的子類绵载,可以保存一組動(dòng)畫對(duì)象,將 CAAnimationGroup 對(duì)象加入層之后苛白,族中所有的動(dòng)畫對(duì)象可以同時(shí)并發(fā)運(yùn)行娃豹。
屬性說(shuō)明:
animations:保存一組動(dòng)畫對(duì)象的NSArray。
默認(rèn)情況下购裙,一組動(dòng)畫對(duì)象是同時(shí)運(yùn)行的懂版,也可以通過(guò)設(shè)置動(dòng)畫對(duì)象的 beginTimer 屬性來(lái)更改動(dòng)畫的開始時(shí)間。
轉(zhuǎn)場(chǎng)動(dòng)畫CATransition
CATransition
為層提供移出屏幕和移入屏幕的動(dòng)畫效果躏率。
UINavigationController就是通過(guò)CATransition實(shí)現(xiàn)了將控制器推入屏幕的動(dòng)畫效果
動(dòng)畫屬性:
type:動(dòng)畫過(guò)渡類型
subtype:動(dòng)畫過(guò)渡方向
startProgress:動(dòng)畫起點(diǎn)
endProgress:動(dòng)畫終點(diǎn)
CAAnimation (基類)所有動(dòng)畫的父類,不能直接使用
CAPropertyAnimation (屬性動(dòng)畫)也是基類躯畴,不可直接使用—>通過(guò)屬性值的改變產(chǎn)生動(dòng)畫效果
CABasicAnimation (基礎(chǔ)動(dòng)畫)只能是兩個(gè)點(diǎn)之間的變化
CASpringAnimation
CAKeyFrameAnimation (關(guān)鍵幀動(dòng)畫)可以添加多個(gè)點(diǎn)的變化 或者路徑
CAAnimationGRoup(動(dòng)畫組)可以同時(shí)添加多種動(dòng)畫民鼓,達(dá)到預(yù)期效果
CATransition(轉(zhuǎn)場(chǎng)動(dòng)畫 )給視圖切換的時(shí)候 添加動(dòng)畫效果