穿透接口說明
TABBaseComponent在2.5.1版本新增了penetrate接口凿歼,用于穿透組件
使用場景
當(dāng)開發(fā)者本地存在數(shù)據(jù)時遏暴,使用penetrate可以在動畫時顯示原組件
- 原始組件
- 自動化生成效果
- 穿透效果
使用代碼
viewAnimated.adjustBlock = ^(TABComponentManager * _Nonnull manager) {
manager.animations(0, 2).penetrate();
};
實現(xiàn)原理
在預(yù)處理回調(diào)中,標(biāo)記所有需要被穿透的組件缀去。
在骨架屏綁定時機中,使用貝塞爾曲線畫出CAShapeLayer港庄,規(guī)則定位kCAFillRuleEvenOdd,即被描繪的區(qū)域不填充恕曲,最后通過mask蓋在對應(yīng)的layer之上鹏氧。