Как определить, какой UITextField изменяется внутри ячейки UICollectionView? - PullRequest
0 голосов
/ 17 марта 2020

У меня есть несколько UITextFields внутри UICollectionViewCell, и я хочу знать, какое из них изменяется. Каждый элемент был сделан программно. UICollectionViewCell имеет быстрый класс. Ячейка повторяется внутри UICollectionView около 5 раз, поэтому мне нужно также указать, в какой ячейке находится UITextField.

Есть какие-либо предложения по этому поводу?

1 Ответ

0 голосов
/ 17 марта 2020

Сначала в cellForItemAt необходимо назначить тег для textView, который будет отображаться в этой ячейке. Проще всего отождествить его с номером строки ячейки. Например:

func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
    cell.textView.tag = indexPath.row
}

Далее, внутри textViewDidChange вы помещаете оператор switch, соответствующий тегу модифицируемого textView. В каждом случае вы можете выполнить любой код, который вам нужен, зная, какой textView вы модифицируете. Например:

func textViewDidChange(_ textView: UITextView) {
    switch textView.tag {
    case 0:
        // Code for first text view
        break
    case 1:
        // Code for second text view
        break
    case 2:
        // Code for third text view
        break
    case 3:
        // Code for fourth text view
        break
    default:
        // Code for fifth text view
        break
    }
}
...