检查现有的 TextField resignFirstResponder?

Check for exiting TextField resignedFirstReponder?

是否可以检查 TextField 是否已被取消?

我有 3 个文本字段,并使用 return 键和 (resignFirstResponder) 和 (becomeFirstResponder)

循环浏览它们

但是有没有办法检查字段是否已辞职?我注意到我的一些应用程序测试人员不使用 return 键,而是手动单击字段,这样我以前的字段就不会按应有的方式保存数据。

检查用户是否点击离开 TextField 的最佳方法是什么?进入下一个文本字段还是暂时离开?

isFirstResponder Apple Docs

Returns一个布尔值,表示这个对象是否是第一响应者。

var isFirstResponder: Bool { get }

如何使用

if txtField.isFirstResponder {
// do whatever you want to
}

如果你想在 textField 改变焦点时保存数据..你应该实现文本字段的委托方法

Before resigning as first responder, the text field calls its delegate’s textFieldShouldEndEditing(_:) method. Use that method to validate the current text.

func textFieldShouldEndEditing(_ textField: UITextField) -> Bool

在你的情况下,你可以检查哪个 texfield 结束编辑

func textFieldShouldEndEditing(_ textField: UITextField) -> Bool {
   if textField == textfield1 {
     // save 
   }
}

Apple Docs for textFieldShouldEndEditing