問(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 = [[NSMutableDictionaryalloc] init];
在cellForItemAtIndexPath:這個(gè)方法中作相應(yīng)的一些處理即可倾哺,代碼如下
- (UICollectionViewCell*)collectionView:(UICollectionView*)collectionView cellForItemAtIndexPath:(NSIndexPath*)indexPath
{// 每次先從字典中根據(jù)IndexPath取出唯一標(biāo)識(shí)符
NSString*identifier = [_cellDic objectForKey:[NSStringstringWithFormat:@"%@", indexPath]];
// 如果取出的唯一標(biāo)示符不存在,則初始化唯一標(biāo)示符檬某,并將其存入字典中厅瞎,對(duì)應(yīng)唯一標(biāo)示符注冊(cè)Cell
if(identifier ==nil) {? ? ??
? identifier = [NSStringstringWithFormat:@"%@%@", DayCell, [NSStringstringWithFormat:@"%@", indexPath]];? ? ? ? [_cellDic setValue:identifier forKey:[NSStringstringWithFormat:@"%@", indexPath]];
// 注冊(cè)Cell
[self.collectionView registerClass:[CalendarCollectionViewCellclass]? forCellWithReuseIdentifier:identifier];? ??
}? ??
CalendarCollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:identifier forIndexPath:indexPath];
// 此處可以對(duì)Cell做你想做的操作了...
return cell;
}
修改之后的效果圖如下所示
修改之后的效果圖.gif