我如何从 UITextView 关闭 return 键上的键盘

How do i dismiss the keyboard on return key from a UITextView

如何通过按设备上的 return 键关闭键盘?我知道如何关闭键盘,但在使用 UITextView 时不知道:

resignFirstResponder

我已经试过了,但是没有用:

self.messageTextView.delegate = self

还有这个功能:

func messageTextViewShouldReturn(textView: UITextView) -> Bool
    {
        self.messageTextView.resignFirstResponder()
        return true
    }

记得将 UITextDelegate 添加到 ViewDidLoad()

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

Swift 5

与提供 IBAction 的文本字段不同,文本视图没有可用的操作。

创建您的 textViewOutlet

如果您使用的是表格视图: 确定您的 textView 行所在的位置:

let textViewIndex = IndexPath(row: 0, section: 1)

然后在 (_:didSelectRowAt:) 中,如果除 textView 之外的任何行都关闭键盘

if indexPath != textViewIndex {
                   textViewOutlet.resignFirstResponder()
               }

如果您没有使用表格视图:在您的 SB viewcontroller 中,将 UITapGestureRecognizer 拖到您的视图中。然后通过控制将其拖动到您的视图,从该 Tap Gesture Recognizer 创建一个 IBAction。在操作中从 textViewOutlet 关闭键盘:

    @IBAction func tapGestureRecognizer(_ sender: Any) {
notesField.resignFirstResponder()
    }