iOS - 按下按钮时关闭键盘

Art*_*hur 1 xcode ios swift

我目前有一个textfield,一个picker,一个button和几个textviews/ labels.

textfield提示了一些只有键盘,我想按下一个按钮时,键盘辞退.

以下是一些代码的片段:

class ViewController: UIViewController, UITextFieldDelegate, UIPickerViewDataSource, UIPickerViewDelegate  {

    @IBOutlet weak var provincePicker: UIPickerView!

    @IBOutlet weak var calcButton: UIButton!

    @IBOutlet weak var incomeLabel: UITextView!

    @IBOutlet weak var salaryTextField: UITextField!
    @IBOutlet weak var beforeTax: UITextView!
    @IBOutlet weak var provincialTax: UITextView!
    @IBOutlet weak var federalTax: UITextView!
    @IBOutlet weak var afterTax: UITextView!
Run Code Online (Sandbox Code Playgroud)

...

    override func viewDidLoad() {
  //  numberOnly()
         borders()
         super.viewDidLoad()
         provincePicker.dataSource = self
         provincePicker.delegate = self
    }
Run Code Online (Sandbox Code Playgroud)

...

     @IBAction func calculateButton(sender: UIButton) {
         let formatter           = NSNumberFormatter()
         formatter.numberStyle   = NSNumberFormatterStyle.CurrencyStyle
         formatter.locale        = NSLocale(localeIdentifier: "en_CA")

         let index = provincePicker.selectedRowInComponent(0)

         switch(index) {
         case 0:
            calculate(abBrackets, rates: abRates)   //AB
         //cutting out code here
         dismissKeyboard()
      }

      func dismissKeyboard() {
         self.view.endEditing(true)
      }
Run Code Online (Sandbox Code Playgroud)

Tho*_*mas 5

按下按钮时尝试调用此功能:

    func dismissKeyboard() {
        self.view.endEditing(true)
    }
Run Code Online (Sandbox Code Playgroud)

或者,在按钮功能中,执行以下操作:

@IBAction func button(sender: UIButton) {
    self.view.endEditing(true)
}
Run Code Online (Sandbox Code Playgroud)

并记住通过控制+将按钮连接到viewController并单击按钮并将其拖动到控制器文件,然后在弹出窗口中单击connection并选择action并为其命名:

在此输入图像描述

另外,检查按钮上是否有多个连接,这可能是个问题...

  • 我认为你的`salaryTaxField`没有正确连接,删除它的所有连接然后重新连接.在你的代码中,你应该在`@IBOutlet weak var salaryTextField:UITextField!`旁边看到一个填充的圆圈,如果它没有填充,则意味着它没有连接到UI元素. (2认同)