我如何从 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()
}
如何通过按设备上的 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()
}