gpt4 book ai didi

ios - 选择时更改单元格 View 颜色。并在选择另一个单元格时将其改回

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

我有一个 Collection View 单元格。每个单元格都有一个 View 。作为 id 现在的默认值,我将 View 的边框颜色设置为 lightGray。因此,每当我选择任何单元格时,我都需要将 View 边框颜色更改为红色。如果我再次选择任何其他新单元格。我的旧单元格 View 应改回 lightGray。新单元格 View 必须显示为 redcolor

我该怎么做:

在我的手机里:

    @IBOutlet var baseView: UIView! {
didSet {
baseView.layer.cornerRadius = 5
baseView.layer.borderWidth = 1.0
baseView.layer.borderColor = UIColor.lightGray.cgColor
}
}

let datt = [["duration": "No", "price": "Rs. 100", "perMonth": "per month"],
["duration": "12", "price": "Rs. 55.20", "perMonth": "per month"],
["duration": "No", "price": "Rs. 1300", "perMonth": "one time"]]


func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "KMSubscriptionsCell", for: indexPath) as! KMSubscriptionsCell
let subcription = subscriptions[indexPath.item]
cell.durationLabel.text = datt["duration"]

return cell
}

func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
let cell = collectionView.cellForItem(at: indexPath) as! KMSubscriptionsCell
cell.baseView.layer.borderColor = Utils.colorCode.selectedBorderColor.cgColor
cell.baseView.layer.borderWidth = 2.0


}

我尝试了一些:

在我的行单元格中:

  if indexPath.item != indexPath.item {
cell.baseView.layer.borderWidth = 1.0
cell.baseView.layer.borderColor = UIColor.lightGray.cgColor
}

它不起作用。即使我添加了选择。运气不好。请帮帮我。我怎样才能做到这一点。

最佳答案

一种简单的方法是在单元格类中使用属​​性观察器:

class CollectionViewCell: UICollectionViewCell {

override func awakeFromNib() {
super.awakeFromNib()

layer.borderWidth = 1
layer.borderColor = borderColor
}

override var isSelected: Bool {
didSet {
layer.borderColor = borderColor
}
}

private var borderColor: CGColor {
return isSelected ? UIColor.red.cgColor : UIColor.lightGray.cgColor
}

}

除了单元格本身,您还可以将边框应用于您的 baseView

关于ios - 选择时更改单元格 View 颜色。并在选择另一个单元格时将其改回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55257531/

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