gpt4 book ai didi

swift - UICollection 单元格在 swift 中混合

转载 作者:行者123 更新时间:2023-11-28 10:27:28 25 4
gpt4 key购买 nike

我正在尝试生成单元格并将标签放入其中。但是,当我向下滚动时,标签在单元格之间混合在一起。这是我的代码,我正在尝试解决它。

    let lblTitle = UILabel()
let lblMetro = UILabel()
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {

var cell = collectionView.dequeueReusableCell(withReuseIdentifier: "MenuCell", for: indexPath) as? UICustomCollectionViewCell

if indexPath.row == 0 {
lblTitle.frame = CGRect(x: 0, y: 0, width: 195, height: 40)
lblTitle.font = UIFont.systemFont(ofSize: 14)
lblTitle.textColor = UIColor.white
lblTitle.backgroundColor = colorLiteral(red: 0.2122299671, green: 0.4379466176, blue: 0.8993332386, alpha: 1)
lblTitle.text = " 1”
cell?.contentView.addSubview(lblTitle)
}

if indexPath.row == 1 {
lblMetro.frame = CGRect(x: 55, y: 290, width: 100, height: 20)
lblMetro.font = UIFont.boldSystemFont(ofSize: 17)
lblMetro.textColor = colorLiteral(red: 0, green: 0.3117707968, blue: 0.5609284043, alpha: 1)
lblMetro.text = “2”
cell?.contentView.addSubview(lblMetro)
}

return cell ?? UICollectionViewCell()
}
}

最佳答案

这里的单元格出队了

var cell = collectionView.dequeueReusableCell(withReuseIdentifier: "MenuCell", for: indexPath) as? UICustomCollectionViewCell

因此您可能会得到一个带有先前添加的标签的 1,您需要在出队后清除它们,这会很困惑,但最好将 vc 的标签与单元格 1 隔离,因此将它们添加到单元格配置中或使它们成为 socket , 删除给他们一个标签并在上面的行之后做

cell.contentView.subviews.forEach { 
if $0.tag == 200 {
$0.removeFromSuperview()
}
}

关于swift - UICollection 单元格在 swift 中混合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58184741/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com