当您按“返回”时,我正在搜索隐藏iOS键盘,大约一半的答案是使用self.view.endEditing(true)
而另一半textField.resignFirstResponder()
。一个人比另一个更好吗?
如需参考或来自Google或其他任何人,您需要将UITextFieldDelegate
添加到您的类继承中,在viewDidLoad()中添加self.<your_TF_var_name>.delegate = self
,然后创建一个函数
func textFieldShouldReturn(textField: UITextField) -> Bool {
self.view.endEditing(true)
return false
//OR
textField.resignFirstResponder()
return true
答案 0 :(得分:2)
在这种情况下,使用textField.resignFirstResponder()
并不是真正重要的,因为您已经知道这是您需要辞职的文本字段。
对self.view.endEditing(true)
的调用必须弄清楚当前的第一响应者是什么,然后在其上调用resignFirstResponder
。
我的一般经验法则是,如果您引用了想要辞职的特定视图,请使用resignFirstResponder
。如果不这样做,请使用endEditing
并且您只想让当前的第一响应者辞职。
另外,在任何一种情况下,您都应该从false
返回textFieldShouldReturn
。有一个边缘情况,在true
辞职后,返回UITextView
可能会导致新行被添加到UITextField
。因此,作为规则,我总是返回false
。