Как удалить пользовательский вид из невидимой ячейки в виде коллекции - PullRequest
0 голосов
/ 21 мая 2018

Я пытаюсь изменить цвет выбранного пользовательского представления в представлении коллекции.Я использую didSelectItem и didDeselectItem метода представления коллекции для того же самого.

Я сталкиваюсь с ошибкой, когда я собираюсь изменить невидимую ячейку в представлении коллекции.

Видимая ячейка представления коллекции отлично работает

Мой код ниже

func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
    let cell = colCellSize.cellForItem(at: indexPath) as! colSizeDetails
    cell.viewDetails.backgroundColor = UIColor.gray
    cell.lblSize.textColor = UIColor.white
}


func collectionView(_ collectionView: UICollectionView, didDeselectItemAt indexPath: IndexPath) {

    let cell = colCellSize.cellForItem(at: indexPath) as! colSizeDetails
    cell.viewDetails.layer.borderWidth = 2.0
    cell.viewDetails.layer.borderColor = UIColor.gray.cgColor
    cell.lblSize.textColor = UIColor.gray
    cell.viewDetails.backgroundColor = UIColor.white
}

1 Ответ

0 голосов
/ 21 мая 2018

Эта строка неверна:

let cell = colCellSize.cellForItem(at: indexPath) as! colSizeDetails

Здесь вы используете cell как colSizeDetails.colSizeDetails должен быть его собственным классом с подклассом UICollectionViewCell.Ваши имена классов никогда не должны начинаться со строчной буквы.Вам нужно изменить имя вашего класса на ColSizeDetails и затем переписать эту строку заглавной буквой.Это может быть проблемой, так как я больше не вижу, как вы принудительно распаковываете опции

...