CALayer
UIView和CALayer之間的關(guān)系
CALayer
屬性 | 說明 | 是否支持隱式動(dòng)畫 |
---|---|---|
anchorPoint | 和中心點(diǎn)position重合的一個(gè)點(diǎn),稱為“錨點(diǎn)”,錨點(diǎn)的描述是相對(duì)于x状知、y位置比例而言的默認(rèn)在圖像中心點(diǎn)(0.5、0.5)的位置 | 是 |
backgroundColor | 圖層背景顏色 | 是 |
borderColor | 邊框款顏色 | 是 |
borderWidth | 邊框?qū)挾?/td> | 是 |
bounds | 圖層大小 | 是 |
contents | 圖層顯示的內(nèi)容聪廉,例如可以將圖片座位圖層的內(nèi)容 | 是 |
contentsRect | 圖層顯示內(nèi)容的大小和位置 | 是 |
cornerRadius | 圓角半徑 | 是 |
doubleSided | 圖層背面是否顯示,默認(rèn)為YES | 否 |
frame | 圖層大小和位置故慈,不支持隱式動(dòng)畫板熊,所以CALayer中很少使用frame,通常使用bounds和position代替 | 否 |
hidden | 是否隱藏 | 是 |
mask | 圖層蒙版 | 是 |
maskToBounds | 子圖層是否剪切圖層邊界察绷,默認(rèn)為NO | 是 |
opacity | 透明度干签,類似于UIView的alpha | 是 |
position | 圖層中心點(diǎn)位置,類似元UIView的center | 是 |
shadowColor | 陰影顏色 | 是 |
shadowOffset | 陰影偏移量 | 是 |
shadowOpacity | 陰影透明度拆撼,注意默認(rèn)為0容劳,如果設(shè)置陰影必須設(shè)置次屬性 | 是 |
shadowPath | 陰影形狀 | 是 |
shadowRadius | 陰影模糊半徑 | 是 |
sublayers | 子圖層 | 是 |
sublayerTransform | 子圖層形變 | 是 |
transform | 圖層形變 | 是 |
- 隱式屬性動(dòng)畫的本質(zhì)是這些屬性的變動(dòng)默認(rèn)隱含了CABasicAnimation動(dòng)畫實(shí)現(xiàn)
- anchorPoint屬性是圖層的錨點(diǎn),范圍在(01,01)表示在x闸度、y軸的比例竭贩,這個(gè)點(diǎn)永遠(yuǎn)可以同position(中心點(diǎn))重合,當(dāng)圖層中心點(diǎn)固定后莺禁,調(diào)整anchorPoint即可達(dá)到調(diào)整圖層顯示位置的作用(因?yàn)樗肋h(yuǎn)和position重合)
CALayer繪圖
1.通過圖層代理drawLayer:inContext:方法繪制
2.通過自定義圖層drawInContext:方法繪制
Core Animation
CAAnimation:核心動(dòng)畫的基礎(chǔ)類留量,不能直接使用,負(fù)責(zé)動(dòng)畫的運(yùn)行時(shí)間、速度控制楼熄,本身實(shí)現(xiàn)了CAMediaTiming協(xié)議
CAPropertyAnimation:屬性動(dòng)畫的基類(通過屬性進(jìn)行動(dòng)畫設(shè)置忆绰,注意是可動(dòng)畫屬性),不能直接使用
CAAnimationGroup:動(dòng)畫組可岂,動(dòng)畫組是一種組合模式設(shè)計(jì)较木,可以通過動(dòng)畫組來進(jìn)行所有動(dòng)畫行為的統(tǒng)一控制,組中國(guó)年所有動(dòng)畫效果可以并發(fā)執(zhí)行
CATransition:轉(zhuǎn)場(chǎng)動(dòng)畫青柄,主要通過濾鏡進(jìn)行動(dòng)畫效果設(shè)置
CABasicAnimation:基礎(chǔ)動(dòng)畫,通過屬性修改進(jìn)行動(dòng)畫參數(shù)控制预侯,只用初始狀態(tài)和結(jié)束狀態(tài)
CAKeyframeAnimation:關(guān)鍵幀動(dòng)畫致开,同樣是通過屬性修改進(jìn)行動(dòng)畫參數(shù)控制,但是同基礎(chǔ)動(dòng)畫不同的是它可以有多個(gè)狀態(tài)控制