一开始采用的方法是函数textView:shouldChangeTextInRange:replacementText:来进行判断:
- (BOOL)textView:(UITextView *)textView
shouldChangeTextInRange:(NSRange)range
replacementText:(NSString *)text
{
//判断加上输入的字符,是否超过界限
NSString *str = [NSString stringWithFormat:@"%@%@", textView.text, text];
if (str.length > BOOKMARK_WORD_LIMIT)
{
textView.text = [textView.text substringToIndex:WORD_LIMIT];
return NO;
}
return YES;
}
但在使用中发现该方法在有联想输入的时候,根本无法对联想输入的词进行判断,然后尝试使用textViewDidChange:,验证可行:
- (void)textViewDidChange:(UITextView *)textView
{
//该判断用于联想输入
if (textView.text.length > BOOKMARK_WORD_LIMIT)
{
textView.text = [textView.text substringToIndex: WORD_LIMIT];
}
} ```
网友评论