【问题标题】:What is difference between the return value of the method named "textFieldShouldReturn(textField:)"? [duplicate]名为“textFieldShouldReturn(textField:)”的方法的返回值有什么区别? [复制]
【发布时间】:2020-03-08 04:11:01
【问题描述】:

我在实现UITextField的委托方法textFieldShouldReturn时有疑问,不知道返回值有什么区别。

我在里面试过return falsereturn true,但是我没有发现它们之间的区别,而且我的自定义委托方法都被执行了,程序似乎运行良好。 ????

这是我的代码:

    func textFieldShouldReturn(_ textField: UITextField) -> Bool {
        let legalInput = tagTextField.text!.trimmingCharacters(in: .whitespacesAndNewlines)
        if !legalInput.isEmpty {
            if isUpdate {
                if tag!.tagName != legalInput {
                    delegate?.didUpdateTagName(tagName: legalInput)
                }
            } else {
                delegate?.didAddTag(tagName: legalInput, themeId: themeId)
            }
        }
        navigationController?.popViewController(animated: true)

        // return false
        return true
    }

【问题讨论】:

    标签: ios swift uitextfield uitextviewdelegate


    【解决方案1】:

    如果文本字段应该为return button; 实现其default 行为,则为YES,否则为NO

    每当用户点击返回按钮时,文本字段都会调用此方法。您可以使用此方法在点击按钮时实现任何自定义行为。例如,如果您想在用户点击返回按钮时关闭键盘,您的实现可以调用resignFirstResponder 方法。

    你可以在docs阅读。

    如果你想在用户点击return button时隐藏键盘那么

    return true
    

    否则默认为 false ,逻辑取决于您的 UX 是否希望键盘始终可见。

    【讨论】:

    • 感谢您的回答。是的,我之前读过 Apple 文档,但是返回按钮的“默认行为”是什么,如果我想关闭键盘,我可以调用“resignFirstResponder”,然后调用“return false”,然后它也可以工作。返回值 like 无效。我试过了:
    • func textFieldShouldReturn(_ textField: UITextField) -> Bool { textField.resignFirstResponder() return false }
    猜你喜欢
    • 2011-03-28
    • 2011-01-02
    • 1970-01-01
    • 1970-01-01
    • 2011-10-31
    • 2020-05-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多