首页 > 解决方案 > 如何在 TableViewCell 类中的 TextField 委托方法上获取单元格索引

问题描述

请查看下面的代码。我想在文本字段开始编辑时获取单元格索引。

class SingleLineText: UITableViewCell, UITextFieldDelegate {

 func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool {
        let cell: SingleLineText = textField.superview!.superview as! SingleLineText
        let table: UITableView = cell.superview as! UITableView
        let textFieldIndexPath = table.indexPath(for: cell)
        print(textFieldIndexPath as Any)

        return true
    }
}

标签: uitableviewswift3

解决方案


在 cellForRowAt 方法中只需添加:

youCell.textField.tag = indexPath.row

并像这样使用它:

func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool {

        let indexPath: IndexPath = IndexPath(row: textField.tag, section: 0)
        //here is your indexPath

        return true
    }
}

推荐阅读