dav*_*ner 1 objective-c uitextview ios
在选择返回按钮时尝试在 UITextView 中返回键盘时遇到问题。
这是我的代码:
- (void)viewDidLoad {
self.captionArea.delegate = self
}
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text {
NSUInteger newLength = [self.captionView.text length] + [text length] - range.length;
return (newLength > 30) ? NO : YES;
if([text isEqualToString:@"\n"])
[textView resignFirstResponder];
return YES;
}
Run Code Online (Sandbox Code Playgroud)
任何想法为什么这会给我带来问题?视图只是换行,而不是返回。
最有可能的是,您的代码根本没有达到您要求文本视图辞去第一响应者的程度。尝试将您的resignFirstResponder方法调用置于所有返回语句之上。
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text {
if ([text isEqualToString:@"\n"]) {
[textView resignFirstResponder];
return NO;
}
NSUInteger newLength = [textView.text length] + [text length] - range.length;
return (newLength > 30) ? NO : YES;
}
Run Code Online (Sandbox Code Playgroud)
此外,UITextField如果您尝试制作的只是一个简单的单行文本字段,您应该考虑切换到,因为UITextView没有标准方法来隐藏键盘。正如这个流行的StackOverflow 回答中所解释的,“点击返回并隐藏 UITextView 的键盘不遵循界面指南”。
上面描述的方法是一个简单的技巧,如果用户输入包含\n(换行)字符的文本,则无法正常工作。
| 归档时间: |
|
| 查看次数: |
367 次 |
| 最近记录: |