用快捷键退出键盘

我是一名初学Swift的程序员。 我一直在做一个待办事项列表申请。 我想通过返回键closures键盘。 我已经尝试了'self.view.endEditing(true)'和'resignFirstResponder()'方法,但都没有工作。 这里是我的代码:(我正在使用一个选项卡应用程序)

class SecondViewController: UIViewController, UITextFieldDelegate { @IBOutlet var text: UITextField! @IBAction func addItem(sender: AnyObject) { toDoList.append(text.text) text.text = "" self.view.endEditing(true) } override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } override func touchesBegan(touches: Set<NSObject>, withEvent event: UIEvent) { self.view.endEditing(true) // This works fine here } func textFieldShouldReturn(textField: UITextField) -> Bool { self.view.endEditing(true) // This is not working... return true } } 

在最后一个function,我也尝试使用以下内容:

 func textFieldShouldReturn(textField: UITextField) -> Bool { text.resignFirstResponder() // This is not working... return true } 

但由于某种原因,没有人按我的意愿工作。 当我在'touchesBegan'方法中使用它时,它工作正常。 你能告诉我在我的代码中我犯了什么错误吗? 谢谢。

尝试设置委托。 添加一个didSet到文本sockets。 喜欢这个。

  @IBOutlet var text: UITextField! { didSet { text.delegate = self } } 

resignFirstResponder()方法是正确的。 通过在textFieldShouldReturn()方法中使用textField.resignFirstResponder() ,它可以处理每个文本字段。

就是这样了:

 func textFieldShouldReturn(_ textField: UITextField) -> Bool { textField.resignFirstResponder() return true }