名为“textFieldShouldReturn(textField:)”的方法的返回值有啥区别? [复制]
Posted
技术标签:
【中文标题】名为“textFieldShouldReturn(textField:)”的方法的返回值有啥区别? [复制]【英文标题】: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 false
和return 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
【问题讨论】:
【参考方案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以上是关于名为“textFieldShouldReturn(textField:)”的方法的返回值有啥区别? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
从 UIBarButtonItem 触发 textFieldShouldReturn
textFieldShouldReturn - completionHandler 中的某些方法永远不会被调用