在网上有很多限制输入字符串长度的解决方案,但是很多在不同的iOS系统下有的就不生效了比较了许多方法最好用的如下。
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
if ([text isEqualToString:@""]) {
return YES;
} else if ([text rangeOfString:@" "].location != NSNotFound) {
return NO;
}
if((textView.text.length + text.length) > self.maxNumber){
return NO;
}
NSInteger existedLength = textView.text.length;
NSInteger selectedLength = range.length;
NSInteger replaceLength = text.length;
if (existedLength - selectedLength + replaceLength > self.maxNumber) {
return NO;
}
if (textView.text.length>self.maxNumber) {
textView.text = [textView.text substringToIndex:self.maxNumber];
return NO;
}
return YES;
}
其中textView.text = [textView.text substringToIndex:self.maxNumber]; 截取的就是制定长度内的字数
网友评论