如何识别在 UICollectionView 单元格中修改了哪个 UITextField?

How to identify which UITextField is being modified inside a UICollectionView Cell?

我在 UICollectionViewCell 中有一些 UITextFields,我想知道其中哪些正在被修改。每个元素都是以编程方式制作的。 UICollectionViewCell 有一个 swift class。该单元格在 UICollectionView 中重复了大约 5 次,所以我还需要知道 UITextField 在哪个单元格中。

有什么建议吗?

首先,在 cellForItemAt 中,您需要为将显示在该单元格中的 textView 分配一个标签。使用单元格的行号最容易识别它。例如:

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

接下来,在 textViewDidChange 中放入一个与正在修改的 textView 的标签相对应的 switch 语句。在每种情况下,您都可以执行任何需要知道正在修改的 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
    }
}