如何使用键盘的return键来隐藏UITextView的键盘

今天在项目中遇到了需要在text view中输入完内容后,按return(完成)按钮来结束编辑并同时隐藏键盘。但是,每次按这个返回键的时候,得到的只能是换行。
如果是UITextViewField,我们可以使用其代理来结束并收回键盘:

    [textField resignFirstResponder];
    return YES;
}```
对于UITextView,可以有以下几种解决方案:
- 添加一个button,并添加点击事件来调用`-resignFirstResponder`方法来收回键盘;
- 添加点击事件:
``` -(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{
    [self.view endEditing:YES];
}
  • 如果text view 放在tableView上,我们可以使用代理方法- scrollViewDidScroll:来实现
    [self.contentTextView resignFirstResponder];
  } ```
- 使用text view的代理方法`textView:shouldChangeTextInRange:replacementText:`
```-(BOOL)textView:(UITextView *)textViewshouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text { 
  if([text isEqualToString:@"\n"]) {
   [textView resignFirstResponder]; 
   return NO; 
   } 
   return YES;
}

推荐阅读更多精彩内容