能否检查一个TextField是否已经退出?
我有3个TextField,并用(resignFirstResponder)和(becomeFirstResponder)的回车键循环查看。
但是有没有办法检查一个字段是否已经辞职?我注意到我的一些应用测试人员没有使用回车键,而是手动点击字段,这样一来我之前的字段就不能按照应有的方式保存数据了。
检查用户是否从一个TextField上点击离开的最好方法是什么 ? 无论是点击到下一个文本字段还是暂时离开?
isFirstResponder 苹果文档
返回一个布尔值,表示这个对象是否是第一个响应者。
var isFirstResponder: Bool { get }
如何使用
if txtField.isFirstResponder {
// do whatever you want to
}
如果你想在textField改变焦点时保存数据......你应该实现text field的委托方法。
在辞去第一响应者的身份之前,文本字段调用其委托人的textFieldShouldEndEditing(_:)方法。使用该方法来验证当前的文本。
func textFieldShouldEndEditing(_ textField: UITextField) -> Bool
在你的例子中,你可以检查哪个文本字段结束编辑。
func textFieldShouldEndEditing(_ textField: UITextField) -> Bool {
if textField == textfield1 {
// save
}
}