我创建了一个集合视图,其中单元格内部有一个视图。视图的alpha值为0.65。当我滚动时,视图变得更亮。也许这些观点会叠加在一起?
我的代码:
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "cell", for: indexPath) as! LevelStufenCell
cell.levelViewBack = UIView()
cell.levelViewBack.frame = CGRect(x: 0, y: 0, width: cell.frame.height, height: cell.frame.width)
cell.levelViewBack.layer.cornerRadius = cell.levelViewBack.frame.height * (36 / 198)
cell.levelViewBack.backgroundColor = UIColor.white
cell.levelViewBack.alpha = 0.65
cell.insertSubview(cell.levelViewBack, at: 10)
return cell
}
答案 0 :(得分:0)
单元格 重复使用 ,因此每次单元格滚动到视图中时,您都会向每个单元格添加另一个levelViewBack
。
您已在levelViewBack
内定义LevelStufenCell
...是IBOutlet
吗?如果是这样,您不需要每次都创建一个新的 - 只需删除此行:
cell.levelViewBack = UIView()
如果不 IBOutlet
,您是否在LevelStufenCell
内创建了它?如果是这样,再次,只需删除该行。如果没有,检查它是否已经创建之前"再次创建":
if cell.levelViewBack == nil {
cell.levelViewBack = UIView()
}