我试图通过单击“完成”按钮来关闭键盘,但不会将其关闭。到目前为止,这是我所做的:
我还添加了协议UITextFieldDelegate
。
override func viewDidLoad() {
super.viewDidLoad()
texts.layer.cornerRadius = 10
texts.delegate = self
texts.keyboardType = .numbersAndPunctuation
texts.returnKeyType = .done
}
func textFieldShouldReturn(textField: UITextField!) -> Bool { //delegate method
var number = CGFloat((texts.text! as NSString).floatValue)
slide.setValue(Float(number), animated: true)
textField.resignFirstResponder()
return true
}
我希望它关闭,以便可以将输入的值存储在number
变量中,并且应用程序可以继续运行。
答案 0 :(得分:2)
将.endEditing
设置为true应该可以解决问题
func textFieldShouldReturn(_ textfield: UITextField) -> Bool {
self.view.endEditing(true)
return false
}
答案 1 :(得分:1)
您的textFieldShowReturn
签名错误,很可能没有被调用。确认快速使用调试器(或print
语句)即可。
应该是:
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
// your code here
}
请注意_
作为参数标签。