单击键盘上的“完成”以关闭键盘,但不会被解除

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单击键盘上的“完成”以关闭键盘,但不会被解除相关的知识,希望对你有一定的参考价值。

我试图通过单击“完成”按钮来解除键盘,但它不会被解雇。这是我到目前为止所做的:

我还添加了协议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变量中,应用程序可以继续。

答案

很可能你的textFieldShowReturn没有被调用,因为它有错误的签名。一些快速使用调试器(或print语句)将确认。

它应该是:

func textFieldShouldReturn(_ textField: UITextField) -> Bool {
    // your code here
}

请注意参数标签的_

另一答案

.endEditing设置为true应该可以解决问题

func textFieldShouldReturn(_ textfield: UITextField) -> Bool {
    self.view.endEditing(true)
    return false
}

以上是关于单击键盘上的“完成”以关闭键盘,但不会被解除的主要内容,如果未能解决你的问题,请参考以下文章

在颤动中单击输入后键盘被解除和多行问题

UITextfield在UITableViewCells中 - 关闭键盘

当软键盘可见时,无法单击按钮

键盘没有被关闭:Facebook Account Kit iOS 11

关闭 UISearchBar 键盘而不影响取消按钮

关闭 iPhone 模拟器上的键盘