如何用返回键关闭UITextView的键盘?

如何用返回键关闭UITextView的键盘?

在IB的图书馆里,介绍告诉我们当回归按下键,键盘为UITextView就会消失。但实际上回归键只能充当‘\n’。

我可以添加一个按钮[txtView resignFirstResponder]隐藏键盘。

但是,是否有一种方法可以将操作添加到回归键盘上的键,这样我就不需要添加UIButton?


德玛西亚99
浏览 342回答 3
3回答

PIPIONE

UITextView没有在用户按下返回键时调用的任何方法。如果希望用户只能添加一行文本,请使用UITextField..点击返回并隐藏键盘UITextView不遵循接口准则。即使这样,如果您想要这样做,也要实现textView:shouldChangeTextInRange:replacementText:方法UITextViewDelegate在该检查中,替换文本是否为\n把键盘藏起来。也许还有其他的方法,但我不知道。

侃侃无极

我想我应该把片段放在这里:确保声明了对UITextViewDelegate协议。- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text {     if([text isEqualToString:@"\n"]) {         [textView resignFirstResponder];         return NO;     }     return YES;}SWIFT 4.0更新:func textView(_ textView: UITextView, shouldChangeTextIn range: NSRange, replacementText text: String) -> Bool {     if text == "\n" {         textView.resignFirstResponder()         return false     }     return true}

FFIVE

我知道这已经被回答了,但是我不太喜欢在换行符中使用字符串,下面是我所做的。- (BOOL)textView:(UITextView *)txtView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text {     if( [text rangeOfCharacterFromSet:[NSCharacterSet newlineCharacterSet]].location == NSNotFound ) {         return YES;     }     [txtView resignFirstResponder];     return NO;}SWIFT 4.0更新:func textView(_ textView: UITextView, shouldChangeTextIn range: NSRange, replacementText text: String) -> Bool {if (text as NSString).rangeOfCharacter(from: CharacterSet.newlines).location == NSNotFound {     return true}txtView.resignFirstResponder()return false}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

iOS