通过 return 键和 swift 关闭键盘

Dismiss keyboard through return key with swift

我是 Swift 的初级程序员。我一直在开发待办事项列表应用程序。我试图通过 return 键关闭键盘。我已经尝试了 '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

}
}

在最后一个函数中,我还尝试使用以下方法:

func textFieldShouldReturn(textField: UITextField) -> Bool {

    text.resignFirstResponder() // This is not working...
    return true

}

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

尝试设置委托。将 didSet 添加到文本出口。像这样。

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

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

就是这样:

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