我正在使用UITextfied,而点击textfied键盘出现,但当我按下返回键,键盘没有消失。我使用了以下代码:
func textFieldShouldReturn(textField: UITextField!) -> Bool // called when 'return' key pressed. return NO to ignore.
{
return true;
}
方法resignfirstresponder没有进入函数。
我正在使用UITextfied,而点击textfied键盘出现,但当我按下返回键,键盘没有消失。我使用了以下代码:
func textFieldShouldReturn(textField: UITextField!) -> Bool // called when 'return' key pressed. return NO to ignore.
{
return true;
}
方法resignfirstresponder没有进入函数。
当前回答
override func viewDidLoad() {
super.viewDidLoad()
let tap = UITapGestureRecognizer(target: self, action: #selector(handleScreenTap(sender:)))
self.view.addGestureRecognizer(tap)}
然后用这个函数
func handleScreenTap(sender: UITapGestureRecognizer) {
self.view.endEditing(true)
}
其他回答
你应该连接UITextfied和一个视图控制器的委托来调用这个函数
override func viewDidLoad() {
super.viewDidLoad()
let tap = UITapGestureRecognizer(target: self, action: #selector(handleScreenTap(sender:)))
self.view.addGestureRecognizer(tap)}
然后用这个函数
func handleScreenTap(sender: UITapGestureRecognizer) {
self.view.endEditing(true)
}
它的返回true部分只告诉文本字段是否允许返回。 你必须手动告诉文本字段解散键盘(或者它的第一个响应器是什么),这是通过resignFirstResponder()来完成的,如下所示:
// Called on 'Return' pressed. Return false to ignore.
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
textField.resignFirstResponder()
return true
}
你可以把它放在任何地方,但不能放在UIButton中
func TextFieldEndEditing(text fiend name: UITextField!) -> Bool
{
return (false)
}
然后你可以把这段代码放在一个按钮中(也是一个例子):
self.view.endEditing(true)
这对我很有效
斯威夫特3
将下面的代码添加到你的VC中
//hide keyboard when user tapps on return key on the keyboard
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
self.view.endEditing(true);
return false;
}
对我有用