我今天在UICollectionViewCell中遇到过UILabels的一些非常奇怪的行为,我希望你们其中一个人能够对此有所了解。
我无法向您展示代码或完整的屏幕截图,但我会尝试尽可能地解释和说明;
我有一个UICollectionView,它有几个单元格并支持水平滚动。
在细胞中,我有一个我设置的标签
- (UICollectionViewCell *)collectionView:(UICollectionView *)cv cellForItemAtIndexPath:(NSIndexPath *)indexPath
并明确- (void)prepareForReuse
。
看起来非常正常,我甚至有一个完全像这样的实现,没有任何奇怪的效果。
现在,出于性能原因,我在Interface Builder中设置了UILabel的不透明度。 当我滚动几次时,我会看到这个:
每当我在Interface Builder中关闭opaque时,我都会看到:
我对UITableViews和UICollectionViews(以及重用等)有很多经验,但我无法正确解释这种行为......
答案 0 :(得分:0)
yourLabel.backgroundColor = UIColor.whiteColor()
UILabel的默认背景颜色是清晰的颜色。如果将标签设置为不透明,则还需要将背景颜色设置为不透明颜色。