【问题标题】:Check for exiting TextField resignedFirstReponder?检查现有的 TextField resignFirstResponder?
【发布时间】:2020-04-30 18:52:50
【问题描述】:

是否可以检查 TextField 是否已被辞退?

我有 3 个文本字段,并使用 (resignFirstResponder) 和 (becomeFirstResponder) 的返回键循环浏览它们

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

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

【问题讨论】:

    标签: swift uitextfield first-responder resignfirstresponder becomefirstresponder


    【解决方案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 
       }
    }
    

    Apple Docs for textFieldShouldEndEditing

    【讨论】:

    • 我正在寻找辞职的第一响应者?每当一个字段不再是第一响应者时。
    • 是否可以检查 TextField 是否已被辞职...检查字段是否是第一响应者 ....
    猜你喜欢
    • 2012-05-04
    • 2016-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多