我正在使用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没有进入函数。
当前回答
确保你的textField委托被设置为视图控制器,从你正在写你的textField相关的代码。
self.textField.delegate = self
其他回答
为了获得自动键盘撤销,我将以下代码放在自定义文本字段类的一个方法中:
textField.addTarget(nil, action:"firstResponderAction:", forControlEvents:.EditingDidEndOnExit)
替换你的出口名称为textField。
另一种主要使用故事板并轻松允许你拥有多个文本字段的方法是:
@IBAction func resignKeyboard(sender: AnyObject) {
sender.resignFirstResponder()
}
将视图控制器的所有文本字段连接到每个字段的Did End on Exit事件上的那个动作。
你应该连接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)
}
你可以把它放在任何地方,但不能放在UIButton中
func TextFieldEndEditing(text fiend name: UITextField!) -> Bool
{
return (false)
}
然后你可以把这段代码放在一个按钮中(也是一个例子):
self.view.endEditing(true)
这对我很有效