Изменение текста метки при нажатии на ячейку представления коллекции в Swift 4.0 - PullRequest
0 голосов
/ 03 октября 2018

У меня проблема с изменением текста метки при касании ячейки представления коллекции.Я пытался использовать didSelectItemAt и didHighlightItemAt, но ничего не получалось.Вот как выглядит моя клетка:

Cell

func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
    let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "cell", for: indexPath) as! CollectionViewCell
    cell.subjectName.text = "Selected"
}

1 Ответ

0 голосов
/ 03 октября 2018

Вам нужно

let cell = collectionview.cellForItem(at: indexPath) as! CollectionViewCell
cell.subjectName.text = "Selected"

, но обратите внимание, что из-за удаления ячейки из очереди это изменение является временным, когда ячейка все еще отображается, если вы прокрутите список, вы можете найти другой текст внутри этого индекса, поэтому отразите изменения в массивемодель сбора и перезагрузки этого indexPath

var statesArr = ["Selected","Default",,,,,,,,,,]

внутри didSelectItemAt

statesArr[indexPath.row] = "Selected"
self.collectionView.reloadItems(at:[indexPath])

внутри cellForItemAt

let cell = ///
cell.subjectName.text = statesArr[indexPath.row]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...