textFieldDidEndEditing 在 tableview 中不起作用
textFieldDidEndEditing not working in tableview
我有一个 tableview
,其中有多个 section
和 rows
。
每一行都有一个 textField
,问题是我想将 textField
的文本保存在一个 dictionary
中,其标签作为键和 textfield
文本作为价值。
我想在用户触摸其他地方时(或者如果可能,当用户停止输入时)立即保存它。我使用了 textFieldDidEndEditing
但它没有用。
我在 cellForRowAt
委托函数中声明了“textfield.delegate=self
”。这是错的吗?我应该怎么办?
提前致谢。
虽然问题缺少一些信息,但是您可以使用两种方式检测 textField textFieldDidEndEditing
:
第一种方式) 正如你所做的那样,在 cellForRowAt
textField.delegate = self
并确保视图控制器以这种方式符合协议 UITextFieldDelegate
extension ViewController: UITextFieldDelegate {
func textFieldDidEndEditing(_ textField: UITextField) {
print(textField.tag, " -> ", textField.text)
}
}
第二种方式) 右键点击故事板上的textField,然后从Event (Editing Did End)拖到class单元格的文件
两种方式见下方截图
我有一个 tableview
,其中有多个 section
和 rows
。
每一行都有一个 textField
,问题是我想将 textField
的文本保存在一个 dictionary
中,其标签作为键和 textfield
文本作为价值。
我想在用户触摸其他地方时(或者如果可能,当用户停止输入时)立即保存它。我使用了 textFieldDidEndEditing
但它没有用。
我在 cellForRowAt
委托函数中声明了“textfield.delegate=self
”。这是错的吗?我应该怎么办?
提前致谢。
虽然问题缺少一些信息,但是您可以使用两种方式检测 textField textFieldDidEndEditing
:
第一种方式) 正如你所做的那样,在 cellForRowAt
textField.delegate = self
并确保视图控制器以这种方式符合协议 UITextFieldDelegate
extension ViewController: UITextFieldDelegate {
func textFieldDidEndEditing(_ textField: UITextField) {
print(textField.tag, " -> ", textField.text)
}
}
第二种方式) 右键点击故事板上的textField,然后从Event (Editing Did End)拖到class单元格的文件
两种方式见下方截图