单击键盘上的“完成”以关闭键盘,但不会将其关闭

时间:2018-09-11 02:33:35

标签: ios swift uitextfield uitextfielddelegate

我试图通过单击“完成”按钮来关闭键盘,但不会将其关闭。到目前为止,这是我所做的:

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

2 个答案:

答案 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
}

请注意_作为参数标签。