我正在提供文本视图来鸣叫一些字符串。
我正在应用以下方法将字符数限制为140个长度。
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text{
if([text isEqualToString:@"\b"]){
DLog(@"Ohoooo");
return YES;
}else if([[textView text] length] > 140){
return NO;
}
return YES;
}
该代码运行良好,但第一个条件是退格不起作用。
假设我已经达到了140个字符的限制,因此该方法将给我错误,并且用户无法插入更多字符,但是在此之后,当我尝试删除一些字符时,文本视图将被禁用。
因此,问题在于如何从
textview.text
删除字符或重新启用文本视图。
最佳答案
您应该寻找一个空字符串,如apple reference所示
如果用户按下Delete键,则范围的长度为1,并且空字符串对象替换了该单个字符。
我认为您实际要进行的检查类似于[[textView text] length] - range.length + text.length > 140
,以说明剪切/粘贴操作。
关于ios - 限制uitextview中的字符数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55795829/