找到這裏的同志,或多或少都對骨架屏有所瞭解,請允許我先囉嗦一句。骨架屏(Skeleton Screen)是一種優化用戶弱網體驗的方案,能夠有效緩解用戶等待的焦躁情緒。ios
TABAnimated是提供給iOS開發者自動生成骨架屏的一種解決方案。開發者能夠將已經開發好的視圖,經過TABAnimated配置一些全局/局部的參數,自動生成與其長相一致的骨架屏。 固然,TABAnimated會協助你管理骨架屏的生命週期。git
經過TABAnimated集成的骨架屏有什麼優點?github
動態效果 | 卡片投影 | 呼吸燈 |
---|---|---|
閃光燈 | 分段視圖 | 豆瓣效果 |
---|---|---|
下面經過一個小例子,更深刻地瞭解一下TABAnimated。api
固然啦,每一個人有不一樣的審美,每一個產品有不一樣的需求,這些就全交由你來把握啦~緩存
pod 'TABAnimated'
複製代碼
github "tigerAndBull/TABAnimated"
複製代碼
注意: 在github上下載的演示demo,爲了很好的模擬真實的應用場景,使用了一些你們都熟悉的第三方,可是TABAnimated自身並不依賴他們。bash
在 didFinishLaunchingWithOptions
中初始化 TABAimated
app
[[TABAnimated sharedAnimated] initWithOnlySkeleton];
[TABAnimated sharedAnimated].openLog = YES;
複製代碼
注意:還有其餘的動畫類型、全局屬性,在框架中都有註釋。框架
控制視圖:若是是列表視圖,那麼就是UITableView/UICollectionView,有文檔具體講解。異步
NewsCollectionViewCell
就是你列表中用到的cell,固然你要綁定其餘cell,也是徹底能夠的!工具
_collectionView.tabAnimated =
[TABCollectionAnimated animatedWithCellClass:[NewsCollectionViewCell class]
cellSize:[NewsCollectionViewCell cellSize]];
複製代碼
注意:
[self.collectionView tab_startAnimation];
複製代碼
[self.collectionView tab_endAnimation];
複製代碼
_tableView.tabAnimated.adjustBlock = ^(TABComponentManager * _Nonnull manager) {
manager.animation(1).down(3).radius(12);
manager.animation(2).height(12).width(110);
manager.animation(3).down(-5).height(12);
};
複製代碼
答:需不須要異步調整,須要調整到什麼程度,與你自身約束、產品需求,都有關係。因此並不能自動生成讓任何產品、任何人當即都徹底滿意的效果。 你大可放心,推出這個功能反而是協助開發者更快速調整本身想要的結果。**
manager.animation(x)
,x是多少?答:在appDelegate設置TABAnimated的openAnimationTag
屬性爲YES,框架就會自動爲你指示,究竟x是幾
[TABAnimated sharedAnimated].openAnimationTag = YES;
複製代碼
manager.animation(0).height(12).width(110);
複製代碼
manager.animation(1).placeholder(@"佔位圖名稱.png");
複製代碼
manager.animations(1,3).width(50);
複製代碼
manager.animationWithIndexs(1,5,7).down(5);
複製代碼
固然啦,在現實中,咱們還有各式各樣的視圖,TABAnimated經歷了不少產品的考驗,通通均可以應對。 可是光憑上面的知識確定是不夠的,如下是更詳細說明文檔。
若是你仍沒法解決問題,能夠儘快聯繫我,我相信TABAnimated是能夠解決99%的需求的