#pragma mark textField代理
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
if ([text isEqualToString:@"\n"])
{
return NO;
}
NSInteger textLength = 0;
UITextRange *markRange = textView.markedTextRange;
int pos = [textView offsetFromPosition:markRange.start
toPosition:markRange.end];
if (!pos) {
textLength = textView.text.length;
}
if(textView.text.length-pos<allCount)return YES;
//获取高亮部分
if (text.length > 0) {
//输入状态
if (textView.text.length > pos) { //候选词替换高亮拼音时
NSString *newStr = [NSString stringWithFormat:@"%@%@",[textView.text substringToIndex:range.location],
text];
textLength = newStr.length;
}else {
textLength += text.length;
}
}else {
//删除状态
if (textView.text.length > 0) {
textLength = [[textView.text substringToIndex:range.location]length];
}
}
if (textLength > allCount) {
//如果输入的字符长度超过限制长度,则进行截取
if (textView.text.length >= range.location) {
textView.text = [NSString stringWithFormat:@"%@%@",[textView.text substringToIndex:range.location],text];
}
textView.text = [textView.text substringToIndex:allCount];
return NO;
}
return YES;
}
- (void)textViewDidChange:(UITextView *)textView{
UITextRange *markRange = textView.markedTextRange;
int pos = [textView offsetFromPosition:markRange.start
toPosition:markRange.end];
int nLength = textView.text.length - pos;
if (nLength > allCount && pos==0) {
textView.text = [textView.text substringToIndex:allCount];
}
_editView_title.hidden = YES;
_count = _editView.text.length;
[_countBtn setTitle:[NSString stringWithFormat:@"%ld/%ld",(long)_count,(long)allCount] forState:UIControlStateNormal];
}
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
if ([text isEqualToString:@"\n"])
{
return NO;
}
NSInteger textLength = 0;
UITextRange *markRange = textView.markedTextRange;
int pos = [textView offsetFromPosition:markRange.start
toPosition:markRange.end];
if (!pos) {
textLength = textView.text.length;
}
if(textView.text.length-pos<allCount)return YES;
//获取高亮部分
if (text.length > 0) {
//输入状态
if (textView.text.length > pos) { //候选词替换高亮拼音时
NSString *newStr = [NSString stringWithFormat:@"%@%@",[textView.text substringToIndex:range.location],
text];
textLength = newStr.length;
}else {
textLength += text.length;
}
}else {
//删除状态
if (textView.text.length > 0) {
textLength = [[textView.text substringToIndex:range.location]length];
}
}
if (textLength > allCount) {
//如果输入的字符长度超过限制长度,则进行截取
if (textView.text.length >= range.location) {
textView.text = [NSString stringWithFormat:@"%@%@",[textView.text substringToIndex:range.location],text];
}
textView.text = [textView.text substringToIndex:allCount];
return NO;
}
return YES;
}
- (void)textViewDidChange:(UITextView *)textView{
UITextRange *markRange = textView.markedTextRange;
int pos = [textView offsetFromPosition:markRange.start
toPosition:markRange.end];
int nLength = textView.text.length - pos;
if (nLength > allCount && pos==0) {
textView.text = [textView.text substringToIndex:allCount];
}
_editView_title.hidden = YES;
_count = _editView.text.length;
[_countBtn setTitle:[NSString stringWithFormat:@"%ld/%ld",(long)_count,(long)allCount] forState:UIControlStateNormal];
}