我一直在到处找这个,但我似乎找不到。我知道如何解雇使用Objective-C键盘,但我不知道如何使用Swift?有人知道吗?


当前回答

Dash的回答是正确的。一个更“焦土”的方法是调用view. enditing (true)。这将导致视图及其所有子视图resignFirstResponder。如果您没有想要删除的视图的引用,这是一种俗气但有效的解决方案。

请注意,我个人认为你应该有一个引用的视图,你想要有辞职第一响应者. enditing (force: Bool)是一个野蛮的方法;请不要使用它。

其他回答

这一行代码辞去了UIView中所有UITextField的键盘

self.view.endEditing(true)

你可以打电话

resignFirstResponder()

在UIResponder的任何实例上,例如UITextField。如果你在当前导致键盘显示的视图上调用它,那么键盘将会消失。

  import UIKit

  class ItemViewController: UIViewController, UITextFieldDelegate {

  @IBOutlet weak var nameTextField: UITextField!

    override func viewDidLoad() {
           super.viewDidLoad()
           self.nameTextField.delegate = self
     }

    // Called when 'return' key pressed. return NO to ignore.

    func textFieldShouldReturn(textField: UITextField) -> Bool {

            textField.resignFirstResponder()
             return true
     }

 // Called when the user click on the view (outside the UITextField).

override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?)    {
      self.view.endEditing(true)
  }
}

如果你使用滚动视图,它会简单得多。

只需在故事板中交互式地选择解散。

一个简单的方法是选择文本字段并使用方法enditing (true)

e.g

exampleTextField.endEditing(true)