textFieldDidEndEditing在tableview中不起作用

时间:2018-05-14 15:10:43

标签: ios iphone swift uitextfield

我有tableviewsectionrows

每行都有textField,问题是我想将textField的文字保存在dictionary中,其标记为关键字,textfield文字为值。

我想在用户触摸其他地方时立即保存(或者如果可能,当用户停止输入时)。我使用textFieldDidEndEditing但它没有用。

我宣布" textfield.delegate=self"在cellForRowAt委托函数中。这是错的吗?我该怎么办?

提前感谢。

1 个答案:

答案 0 :(得分:0)

虽然问题是缺少一些信息,但你可以通过两种方式检测textField textFieldDidEndEditing是否存在:

第一种方式)正如您所做的那样,在cellForRowAt

textField.delegate = self

并确保视图控制器符合UITextFieldDelegate协议

extension ViewController: UITextFieldDelegate {
   func textFieldDidEndEditing(_ textField: UITextField) {
       print(textField.tag, " -> ", textField.text)
   }
}

第二种方式)右键单击故事板上的textField并从Event(Editing Did End)拖动到单元格的类文件

请参阅以下两种方式的屏幕截图

enter image description here