1

我今天在 UICollectionViewCell 中使用 UILabels 遇到了一些非常奇怪的行为,我希望你们中的一个人能对此有所了解。

我不能给你看代码或完整的截图,但我会尽量解释和说明;

我有一个 UICollectionView,它有几个单元格并支持水平滚动。在单元格中,我有一个我设置 - (UICollectionViewCell *)collectionView:(UICollectionView *)cv cellForItemAtIndexPath:(NSIndexPath *)indexPath并清除的标签- (void)prepareForReuse

看起来很正常,我什至有一个完全一样的实现,它没有任何奇怪的地方。

现在,出于性能原因,我在 Interface Builder 中将 UILabel 的不透明度设置为 ON。当我滚动几次时,我会看到:

奇怪的渲染行为

每当我在 Interface Builder 中关闭 opaque 时,我都会看到: 在此处输入图像描述

我对 UITableViews 和 UICollectionViews(以及重用等)有很多经验,但我无法正确解释这种行为......

4

1 回答 1

0
yourLabel.backgroundColor = UIColor.whiteColor()

UILabel 的默认背景颜色是清晰的颜色。如果将标签设置为不透明,则还需要将背景颜色设置为不透明颜色。

于 2016-03-19T10:28:14.787 回答