
問(wèn)題復(fù)現(xiàn).gif
查了一下度娘發(fā)現(xiàn)沒(méi)有好的解決辦法,于是發(fā)動(dòng)自己的聰明才智,終于找到如下解決辦法(充分證明了自己動(dòng)手豐衣足食啊??)
- 首先創(chuàng)建一個(gè)可變數(shù)組,用來(lái)存放Cell的唯一標(biāo)示符
// 用來(lái)存放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;
}
修改之后的效果圖如下所示

修改之后的效果圖.gif
本文純屬個(gè)人思路,如有更好的辦法歡迎指導(dǎo),一定虛心聽(tīng)取改正??