屬性動(dòng)畫->通過改變圖層或者視圖上面的屬性值(支持動(dòng)畫的屬性)產(chǎn)生的動(dòng)畫
屬性動(dòng)畫的常用方法屬性:
1、初始化+(instancetype)animationWithKeyPath:(nullableNSString *)path
path需要產(chǎn)生動(dòng)畫的屬性
如:中心點(diǎn)->移動(dòng)
2、keyPath描述動(dòng)畫的屬性
可以改變屬性的動(dòng)畫:
transform.scale =比例轉(zhuǎn)換
transform.scale.x
transform.scale.y
transform.rotation.z
opacity =透明度
zPosition
backgroundColor背景顏色
cornerRadius圓角
borderWidth邊框的寬度
bounds
contents內(nèi)容
contentsRect
frame
hidden
masksToBounds
opacity
position
shadowColor
shadowOffset
shadowOpacity
shadowRadius
基礎(chǔ)動(dòng)畫:CABasicAnimation
介紹:通過改變某個(gè)屬性的值到某個(gè)值->只能設(shè)置兩個(gè)值->產(chǎn)生的動(dòng)畫
fromValue開始值如果不設(shè)置不會(huì)返回到初始位置
toValue結(jié)束值
byValue通過哪個(gè)值
核心動(dòng)畫:CAAnimation是所有動(dòng)畫的父類
1、CAMediaTiming媒體事件類協(xié)議核心動(dòng)畫關(guān)于時(shí)間類的控制是遵守了CAMediaTiming中的協(xié)議內(nèi)容
(1)beginTime動(dòng)畫開始的時(shí)間默認(rèn)為0
(2)duration動(dòng)畫的持續(xù)時(shí)間默認(rèn)為0持續(xù)時(shí)間受速度的影響
實(shí)際的動(dòng)畫完成時(shí)間=持續(xù)時(shí)間/速度
(3)speed動(dòng)畫播放的速度默認(rèn)為1速度設(shè)置成0可以暫停動(dòng)畫
speed2秒duration60秒動(dòng)畫真正播放完成的時(shí)間30秒
(4)timeOffset動(dòng)畫播放時(shí)間的偏移量
(5)repeatCount動(dòng)畫的循環(huán)次數(shù)默認(rèn)是0只播放一次
repeatDuration動(dòng)畫循環(huán)的持續(xù)時(shí)間只能設(shè)置其中的一個(gè)屬性
(6)autoreverses是否以動(dòng)畫的形式返回到播放之前的狀態(tài)
(7)fillMode設(shè)置當(dāng)前對(duì)象在非活動(dòng)時(shí)間段的狀態(tài)
要想fillMode有效需設(shè)置removedOnCompletion =NO
kCAFillModeForwards當(dāng)動(dòng)畫結(jié)束后,layer會(huì)一直保持著動(dòng)畫最后的狀態(tài)
kCAFillModeBackwards立即進(jìn)入動(dòng)畫的初始狀態(tài)并等待動(dòng)畫開始
kCAFillModeBoth動(dòng)畫加入后開始之前l(fā)ayer處于動(dòng)畫初始狀態(tài)動(dòng)畫結(jié)束后layer保持動(dòng)畫最后的狀態(tài)
kCAFillModeRemoved默認(rèn)值動(dòng)畫結(jié)束后layer會(huì)恢復(fù)到之前的狀態(tài)
2、CAAnimation動(dòng)畫屬性方法介紹
(1)初始化方法animation
(2)timingFunction速度控制類控制動(dòng)畫運(yùn)行的節(jié)奏
functionWithName:初始化
kCAMediaTimingFunctionLinear勻速
kCAMediaTimingFunctionEaseIn慢進(jìn)快出
kCAMediaTimingFunctionEaseOut 快進(jìn)慢出
kCAMediaTimingFunctionEaseInEaseOut慢進(jìn)慢出中間加速
kCAMediaTimingFunctionDefault 默認(rèn)
(3)delegate
(4)removedOnCompletion動(dòng)畫完成的時(shí)候是否移除動(dòng)畫效果
(5)代理方法
- (void)animationDidStart:(CAAnimation *)anim
- (void)animationDidStop:(CAAnimation *)anim finished:(BOOL)flag