ios - UICollectionView 单元格未在 reloadData 上清除

标签 ios objective-c uicollectionview uicollectionviewcell

我有与这些类似的问题,但似乎无法解决我的问题..

  1. > UICollectionView reload data Issue
  2. > ios UICollectionView cells not refreshing after scroll
  3. > UILabel overloading in UICollectionView

我在单元格中有一个带有自定义UIViewsCollectionView,在reloadData时重新添加自定义UIViews > 而不是删除已经显示的那些。这是我的 cellForItemAtIndexPath…

-(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
UICollectionViewCell *collectionViewCell = [collectionView dequeueReusableCellWithReuseIdentifier:@"LiveTileCell" forIndexPath:indexPath];

NSDictionary *cellDataDictionary = [self.dataArray objectAtIndex:indexPath.row];
UIView *customView = [[UIView alloc] initWithFrame:collectionViewCell.contentView.frame];
customView.tag = 1002;


LiveTileView *liveTile = [[LiveTileView alloc] initWithFrame:CGRectMake(0, 0, collectionViewCell.frame.size.width, collectionViewCell.frame.size.height)];
liveTile.tag = 1001;

[liveTile initialize:[cellDataDictionary valueForKey:@"backgroundColor"] titleFont:[cellDataDictionary valueForKey:@"titleFont"] titleText:[cellDataDictionary valueForKey:@"titleText"] titleColor:[UIColor whiteColor] titleImage:[cellDataDictionary valueForKey:@"titleImage"] badge:[[cellDataDictionary valueForKey:@"badge"] intValue] detailViewImage:[cellDataDictionary valueForKey:@"detailViewImage"] compactView:nil isLiveTile:[[cellDataDictionary valueForKey:@"isLiveTile"] boolValue] animationTime:[[cellDataDictionary valueForKey:@"animationTime"] floatValue] elementIndex:indexPath.item];

[customView addSubview:liveTile];
[collectionViewCell addSubview:customView];

return collectionViewCell;
}

任何帮助都会很棒..提前致谢

最佳答案

试试这个

UICollectionViewCell *collectionViewCell = [collectionView dequeueReusableCellWithReuseIdentifier:@"LiveTileCell" forIndexPath:indexPath]; 


//    for(UIView *view in collectionViewCell.contentView.subviews)

 for(UIView *view in collectionViewCell.subviews)
 {
    for(UIView *subView in view.subviews)
    {

        [subView removeFromSuperview];
    }
    [view removeFromSuperview];
}
// write your code here

关于ios - UICollectionView 单元格未在 reloadData 上清除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24057892/

相关文章:

ios - 在 Objective C 中使用代理同时快速发送请求

objective-c - 将 NSManagedObjectModel 中的关系添加到以编程方式创建的 NSEntityDescription

swift - 我的自定义 UICollectionViewCell 中的图像没有扩展到单元格的整个边界?

ios - UICollectionViewCell 在滚动时可见

ios - 通过 Storyboard命名颜色

ios - 异步调度队列中只有两个任务并发运行

ios - Objective-C解析Json并检查响应是否是对象数组中的单个对象

iphone - 获取适用于 iphone 的谷歌翻译 api

objective-c - 正确使用 NSURLConnection

ios - 如何将 UIView 限制为 UICollectionViewCell