Сборник iOS Просмотр Изменить содержимое ячейки на didSelectItemAt indexPath
Мне нужно получить доступ к конкретной ячейке и динамически изменить ее содержимое на didSelectAt indexPath
func collectionView(_ collectionView: UICollectionView,
didSelectItemAt indexPath: IndexPath) {
if collectionView == self.trendHeaderView{
print(indexPath.row)
// Needs to access cell and change the
// content of cell i.e label text inside cell ??
}
}
2 ответа
Вы не можете изменить содержимое ячейки непосредственно в didSelectItemAt. Как видите, в UICollectionView ячейка используется повторно, вызывая dequeReusableCell.
Поэтому я думаю, это хорошо, чтобы сделать модель для этого. и измените содержимое модели в didSelectItemAt. и, пожалуйста, вызовите reloadData, чтобы перерисовать коллекцию.
Мне нужен доступ к конкретной ячейке
Нет, ты не Вы никогда не должны вмешиваться в содержимое клетки напрямую. Вам необходимо получить доступ к данным ("модель"), которые использует источник данных представления коллекции. И вы можете легко это сделать, потому что у вас есть indexPath
, Измените данные и перезагрузите представление сбора, чтобы оно приняло изменения и отобразило их.