我单击文本字段,然后出现键盘:
当我单击类别页面时,它会将我引导到下一个视图控制器,如下所示:
我已经尝试了多种方法来尝试卸下软件键盘,例如:
func textFieldDidBeginEditing(_ textField: UITextField) {
if textField == descriptionField {
self.view.endEditing(_:)
descriptionField.resignFirstResponder()
performSegue(withIdentifier: "goToCategories", sender: self)
} else if textField == setLocationField {
self.view.endEditing(_:)
setLocationField.resignFirstResponder()
performSegue(withIdentifier: "goToSelectLocation", sender: self)
}
}
但是self.view.endEditing
没有关闭键盘。我也尝试使用resignFirstResponder
处理可能导致问题的文本字段,但键盘仍无法关闭。我不确定这是错误还是什么。
答案 0 :(得分:0)
使用委托方法textFieldShouldBeginEditing,然后在其中检查textField == descriptionField,然后返回false。
答案 1 :(得分:0)
在UITextFieldDelegate
的textFieldShouldReturn(_ :)方法中辞退第一响应者就足够了。
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
resignFirstResponder()
return true
}
func textFieldShouldReturn(_ textField:UITextField)-> Bool { resignFirstResponder() 返回真 }
或者,视图内多个文本字段的第二个选择就是这种解决方案:
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
view.endEditing(true)
}