dismiss keyboard with a uiTextView

后端 未结 5 1554
醉话见心
醉话见心 2020-12-04 11:41

I am sure this is not that difficult, but I am having trouble finding info on how to dismiss a keyboard with the return/done key using a textview, not a textfield. here is w

5条回答
  •  无人及你
    2020-12-04 11:57

    Add UITextViewDelegate to your class and then set your delegate for your textView or your textField in viewDidLoad. Should look something like this:

    // in viewDidLoad
    textField.delegate = self
    textView.delegate = self
    

    Swift 3

    // hides text views
    func textView(_ textView: UITextView, shouldChangeTextIn range: NSRange, replacementText text: String) -> Bool {
        if (text == "\n") {
            textView.resignFirstResponder()
            return false
        }
        return true
    }
    // hides text fields
    func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
        if (string == "\n") {
            textField.resignFirstResponder()
            return false
        }
        return true
    }
    

    Swift 2.0

    The below syntax has been tested for Swift 1.2 & Swift 2.0

    func textView(textView: UITextView, shouldChangeTextInRange range: NSRange, replacementText text: String) -> Bool {
        if(text == "\n") {
            textView.resignFirstResponder()
            return false
        }
        return true
    }
    

提交回复
热议问题