UICollectionViewCell重用疊加出問題的解決

http://blog.csdn.net/sadsadaadsd/article/details/51956671

UICollectionViewCell重用疊加出問題的解決?


首先創(chuàng)建一個(gè)可變數(shù)組,用來存放Cell的唯一標(biāo)示符

// 用來存放Cell的唯一標(biāo)示符

@property (nonatomic, strong) NSMutableDictionary *cellDic;

#warning 別忘了初始化喲

self.cellDic = [[NSMutableDictionary alloc] init];

在cellForItemAtIndexPath:這個(gè)方法中作相應(yīng)的一些處理即可,代碼如下

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath

{

// 每次先從字典中根據(jù)IndexPath取出唯一標(biāo)識(shí)符

NSString *identifier = [_cellDic objectForKey:[NSString stringWithFormat:@"%@", indexPath]];

// 如果取出的唯一標(biāo)示符不存在,則初始化唯一標(biāo)示符,并將其存入字典中,對(duì)應(yīng)唯一標(biāo)示符注冊(cè)Cell

if (identifier == nil) {

identifier = [NSString stringWithFormat:@"%@%@", DayCell, [NSString stringWithFormat:@"%@", indexPath]];

[_cellDic setValue:identifier forKey:[NSString stringWithFormat:@"%@", indexPath]];

// 注冊(cè)Cell

[self.collectionView registerClass:[CalendarCollectionViewCell class]? forCellWithReuseIdentifier:identifier];

}

CalendarCollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:identifier forIndexPath:indexPath];

// 此處可以對(duì)Cell做你想做的操作了...

return cell;

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容