是否可以检查TextField是否已被辞职?
我有3个TextField,并使用带有(resignFirstResponder)和(becomeFirstResponder)的返回键在它们之间循环
但是有没有一种方法可以检查某个字段是否已辞职?我注意到我的一些应用测试人员没有使用回车键,而是在字段上手动单击,因此我的上一个字段不会按应有的方式保存数据。
检查用户是否单击了TextField的最佳方法是什么?是进入下一个文本字段还是暂时离开?
答案 0 :(得分:-1)
isFirstResponder Apple Docs
返回一个布尔值,指示此对象是否是第一响应者。
var isFirstResponder: Bool { get }
使用方法
if txtField.isFirstResponder {
// do whatever you want to
}
如果要在textField更改焦点时保存数据,则应实现文本字段的委托方法
在辞去第一响应者之前,该文本字段会调用其 委托的textFieldShouldEndEditing(_ :)方法。使用该方法 验证当前文本。
func textFieldShouldEndEditing(_ textField: UITextField) -> Bool
在您的情况下,您可以检查哪个texfield结束编辑
func textFieldShouldEndEditing(_ textField: UITextField) -> Bool {
if textField == textfield1 {
// save
}
}