Я использую горизонтальный просмотр коллекции для прокрутки дат. Вид коллекции содержит 30 ячеек. Если я выберу первую ячейку, чтобы указать выделение, цвет фона ячейки изменился до коричневого цвета по умолчанию красного цвета. Затем, если я выберу другую ячейку, выбранный цвет ячейки изменился на коричневый с красного. Но первая ячейка BGColor остается той же (коричневой). Как я могу изменить цвет по умолчанию, нажав другую ячейку?Изменение цвета фона ячейки в UICollectionView в Swift
func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath
indexPath: NSIndexPath) -> UICollectionViewCell {
var cell = collectionView.dequeueReusableCellWithReuseIdentifier("cell",
forIndexPath: indexPath) as myViewCell
cell.date_label.text = arr_date[indexPath.item]
}
func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath
indexPath: NSIndexPath) {
var cell = collectionView.cellForItemAtIndexPath(indexPath) as myViewCell
if(cell.selected)
{
cell.backgroundColor = UIColor.brownColor()
}
else
{
cell.backgroundColor = UIColor.redColor()
}
}
Спасибо, Андрей! Но как я могу сохранить старый и новый Indexpath? –
@ McDonal_11 использовать переменные класса класса –
когда я использовал 'cell.selectedBackgroundView.backgroundColor', я получаю ошибку' фатальная ошибка: неожиданно найден nil при распаковке необязательного значения'. Нужно ли сначала создавать это представление, если ячейка уже существует? – zillaofthegods