使用Swift检查tableview单元格中为textfield选择的行?

时间:2015-06-13 09:01:14

标签: ios iphone swift uitableview uitextfield

我正在尝试创建一个表视图,用户可以在其中编辑每个单元格上的文本字段。每个单元格还允许转换到另一个细节视图控制器。当用户点击单元格的文本字段时,它应该允许分别编辑输入文本并将其存储到数组中。

问题是,如何使用Swift检查文本字段时选中的单元格/行? (我可以检查被点击的单元格,但不能查看单元格中文本字段的情况。)

2 个答案:

答案 0 :(得分:1)

有几种方法可以做到这一点。

superview property of your text field将是您的UITableViewCell(除非您将其嵌入到中间的另一个视图中)。

在我自己的代码中,我经常将UITableViewCell(有时甚至是单元格中的控件)子类化为它赋予一个属性,该属性指示我们正在使用的行号。

答案 1 :(得分:0)

每个textField都有一个tag属性,可以使用textField.tag进行访问。 如果您使用的是自定义单元格,请在cellForRowAt indexPath下添加一行代码,为您的文本字段分配标签。

let cell = tableView.dequeueReusableCell(withIdentifier: "<identifier>", for: indexPath) as? <customTableViewCell>
cell?.textField.tag = indexPath.row
//perform other cell operations

为您的TableViewController设置一个UITextFieldDelegate,然后在textFieldDidEndEditing下访问tag属性以了解哪个textField被编辑了

func textFieldDidEndEditing(_ textField: UITextField) {
        print("textfield tag \(textField.tag)")       
    }
相关问题