http://blog.csdn.net/sadsadaadsd/article/details/51956671
UICollectionViewCell重用疊加出問題的解決?
首先創建一個可變數組,用來存放Cell的唯一標示符
// 用來存放Cell的唯一標示符
@property (nonatomic, strong) NSMutableDictionary *cellDic;
#warning 別忘了初始化喲
self.cellDic = [[NSMutableDictionary alloc] init];
在cellForItemAtIndexPath:這個方法中作相應的一些處理即可,代碼如下
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
// 每次先從字典中根據IndexPath取出唯一標識符
NSString *identifier = [_cellDic objectForKey:[NSString stringWithFormat:@"%@", indexPath]];
// 如果取出的唯一標示符不存在,則初始化唯一標示符,并將其存入字典中,對應唯一標示符注冊Cell
if (identifier == nil) {
identifier = [NSString stringWithFormat:@"%@%@", DayCell, [NSString stringWithFormat:@"%@", indexPath]];
[_cellDic setValue:identifier forKey:[NSString stringWithFormat:@"%@", indexPath]];
// 注冊Cell
[self.collectionView registerClass:[CalendarCollectionViewCell class]? forCellWithReuseIdentifier:identifier];
}
CalendarCollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:identifier forIndexPath:indexPath];
// 此處可以對Cell做你想做的操作了...
return cell;
}