滚动后集合视图单元格 alpha 正在更改
Posted
技术标签:
【中文标题】滚动后集合视图单元格 alpha 正在更改【英文标题】:Collection View Cells alpha is changing after scroll 【发布时间】:2017-12-03 14:55:55 【问题描述】:我创建了一个集合视图,其中单元格内部有一个视图。视图的 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
【问题讨论】:
你有什么理由不在界面生成器中添加子视图吗? 【参考方案1】:单元格被重复使用,因此每次单元格滚动到视图中时,您都会向每个单元格添加另一个 levelViewBack
。
您在LevelStufenCell
中定义了levelViewBack
... 是IBOutlet
吗?如果是这样,您不需要每次都创建一个新的 - 只需删除此行:
cell.levelViewBack = UIView()
如果它不是IBOutlet
,您是在LevelStufenCell
中创建它吗?如果是这样,再次,只需删除该行。如果没有,请在“重新创建”之前检查它是否已创建:
if cell.levelViewBack == nil
cell.levelViewBack = UIView()
【讨论】:
以上是关于滚动后集合视图单元格 alpha 正在更改的主要内容,如果未能解决你的问题,请参考以下文章