我目前有textfield
,picker
,button
和几个textviews
/labels
。iOS - 按下按钮时关闭键盘
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!
...
override func viewDidLoad() {
// numberOnly()
borders()
super.viewDidLoad()
provincePicker.dataSource = self
provincePicker.delegate = self
}
...
@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)
}
在你的'main.storyboard'上,检查你的按钮是否有多个连接... – Thomas
只有引用outlet的按钮是calcButton函数,我试图添加self.view.endEditing(true)到该函数的结尾,doesn'工作。 – arthur
你到底想要什么,出了什么问题?当用户按下按钮'1'时,是否想要关闭键盘?就像你在问题中提到的那样,或者当他们按下'calculateButton'时? – Eendje