UICollectionViewCell 重用问题

Posted

技术标签:

【中文标题】UICollectionViewCell 重用问题【英文标题】:UICollectionViewCell reuse issue 【发布时间】:2014-01-10 10:44:59 【问题描述】:

我有一个故事板,我的一个 viewController 有一个 CollectionView。我有一个原型单元格,里面有一个标签。我为该原型单元创建了一个类,以便通过 IBOutlet 属性访问标签。

问题是我有很多细胞。在单元格的initWithCoder 构造函数中,我添加了一些cornerRadius

当我将这个 viewController 推到屏幕上时,它会滞后很多。如果没有拐角半径,则不会。我还注意到 initWithCoder 一直被调用,对于每个单元格。

我尝试像这样[self.myCollectionView registerClass:[MyCell class] forReuseIdentifier:@"MyReuseIdentifier"] 注册单元格,但它不起作用。我不知道如何使用registerNib 方法。

重用标识符在情节提要原型单元中设置。

我不知道如何在不损失性能的情况下实现圆角效果。

【问题讨论】:

【参考方案1】:

我已经在cellForItemAtIndexPath 方法中完成了我的单元格圆角

    cell.imageView.layer.cornerRadius = 10;
    cell.imageView.layer.masksToBounds = YES;

别忘了导入#import <QuartzCore/QuartzCore.h>

【讨论】:

不。不工作。我仍然认为这是可重用性的问题。

以上是关于UICollectionViewCell 重用问题的主要内容,如果未能解决你的问题,请参考以下文章

带有 UICollectionViewCell 的可重用 UITableViewCell

UICollectionViewCell 重用导致不正确的 UISwitch 状态

重用 UICollectionView 中的单元格时,会短暂显示重用 UICollectionViewCell 的旧内容

带有重用标识符的 UICollectionViewCell 初始化

注册大量 UICollectionViewCell 类以在 UICollectionView 中重用

iOS - 图像未加载到可重用的 UICollectionViewCell 上