У меня есть ячейка представления коллекции. У каждой ячейки есть представление.В качестве идентификатора теперь по умолчанию я установил цвет границы моего вида на lightGray
.Поэтому, когда я выбираю какую-либо ячейку, мне нужно изменить цвет границы моего представления на красный.И снова, если я выберу любую другую новую ячейку.Мой старый вид ячейки должен измениться на lightGray
. И новый вид ячейки должен отображаться как 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
}
это не работает. Даже если я добавил, выбрал. Не повезло. Пожалуйста, помогите мне.Как я могу достичь этого.