iOS UICollectionView刷新時(shí)閃屏的解決方法
在做相冊(cè)的時(shí)候遇到了一個(gè)問(wèn)題,就是UICollectionView刷新的時(shí)候會(huì)閃屏,網(wǎng)上搜了搜,解決的方法也是挺多,并沒(méi)有一一嘗試,只是存下來(lái)做個(gè)筆記,來(lái)看看遇到的幾種方法。
方法一:
[UIView performWithoutAnimation:^{
//刷新界面
[self.collectionView reloadData];
}];
把刷新界面的事件放在這個(gè)BLock里就可以了!
方法二
[UIView animateWithDuration:0 animations:^{
[collectionView performBatchUpdates:^{
[collectionView reloadItemsAtIndexPaths:@[[NSIndexPath indexPathForItem:index inSection:0]]];
} completion:nil];
}];
方法三
[UIView setAnimationsEnabled:NO];
[self.trackPanel performBatchUpdates:^{
[collectionView reloadItemsAtIndexPaths:@[[NSIndexPath indexPathForItem:index inSection:0]]];
} completion:^(BOOL finished) {
[UIView setAnimationsEnabled:YES];
}];
如果你的APP只支持iOS7+,推薦使用第一種方式performWithoutAnimation簡(jiǎn)單方便。
上面說(shuō)的方法只能解決UIView的Animation,但是如果你的cell中還包含有CALayer的動(dòng)畫(huà),比如這樣:
- (void)layoutSubviews{
[super layoutSubviews];
self.frameLayer.frame = self.frameView.bounds;
}
上述情況多用于自定義控件使用了layer.mask的情況,如果有這種情況,上面提到的方法是無(wú)法取消CALayer的動(dòng)畫(huà)的,但是解決辦法也很簡(jiǎn)單:
- (void)layoutSubviews{
[super layoutSubviews];
[CATransaction begin];
[CATransaction setDisableActions:YES];
self.frameLayer.frame = self.frameView.bounds;
[CATransaction commit];
}
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- iOS 通過(guò)collectionView實(shí)現(xiàn)照片刪除功能
- iOS中關(guān)于Swift UICollectionView橫向分頁(yè)的問(wèn)題
- iOS自定義UICollectionViewLayout實(shí)現(xiàn)瀑布流布局
- 使用iOS控件UICollectionView生成可拖動(dòng)的桌面的實(shí)例
- IOS collectionViewCell防止復(fù)用的兩種方法
- iOScollectionView廣告無(wú)限滾動(dòng)實(shí)例(Swift實(shí)現(xiàn))
- iOS自定義collectionView實(shí)現(xiàn)毛玻璃效果
- IOS簡(jiǎn)單實(shí)現(xiàn)瀑布流UICollectionView
- ios的collection控件的自定義布局實(shí)現(xiàn)與設(shè)計(jì)
相關(guān)文章
iOS實(shí)現(xiàn)音樂(lè)播放器圖片旋轉(zhuǎn)
這篇文章主要為大家詳細(xì)介紹了iOS實(shí)現(xiàn)音樂(lè)播放器圖片旋轉(zhuǎn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-10-10
iOS中tableview 兩級(jí)cell的展開(kāi)與收回的示例代碼
本篇文章主要介紹了iOS中tableview 兩級(jí)cell的展開(kāi)與收回的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-03-03
iOS開(kāi)發(fā)探索多線程GCD隊(duì)列示例詳解
這篇文章主要為大家介紹了iOS開(kāi)發(fā)探索多線程GCD隊(duì)列示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07
iOS開(kāi)發(fā)避免安全隱患的要點(diǎn)總結(jié)
在本篇文章里小編給各位整理了關(guān)于iOS開(kāi)發(fā)如何避免安全隱患的知識(shí)點(diǎn)總結(jié),需要的朋友們學(xué)習(xí)下。2019-07-07
詳解iOS應(yīng)用使用Storyboard布局時(shí)的IBOutlet與IBAction
這篇文章主要介紹了iOS應(yīng)用使用Storyboard布局時(shí)的IBOutlet與IBAction,文中還附帶講解了為什么IBOutlet屬性是weak的,需要的朋友可以參考下2016-04-04
iOS Swift利用UICollectionView實(shí)現(xiàn)無(wú)限輪播功能(原理)詳解
無(wú)線輪播圖的實(shí)現(xiàn)方式有很多,下面這篇文章主要給大家介紹了關(guān)于iOS Swift利用UICollectionView實(shí)現(xiàn)無(wú)限輪播功能(原理)的相關(guān)資料,需要的朋友可以參考下2018-09-09

