我在同一页面上有五个textview。但只有一个textview可编辑。我想限制这个textview字符。
我使用- (void)textViewDidChange:(UITextView *)textView
但它没有用。
我的UITextView
引用名称是UserNote。
我试试- (void)textViewDidChange:(UITextView *)UserNote
不幸的是再没有用了。
请帮我。谢谢。
我改变了我的参考名称,现在是textView。
我的代码;
@property (retain, nonatomic) IBOutlet UITextView *textView;
- (void)textViewDidChange:(UITextView *)textView{
NSUInteger length;
length = [textView.text length];
NSString * last = [NSString stringWithFormat:@"%lu", 160 - length];
[_characterLabel setText:[NSString stringWithFormat:@"%@",last]];
NSLog(@"%@" , last);
}
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text {
// Prevent crashing undo bug – see note below.
if(range.length + range.location > textView.text.length)
{
return NO;
}
NSUInteger newLength = [textView.text length] + [text length] - range.length;
return (newLength > 160) ? NO : YES;
}
答案 0 :(得分:0)
我解决了。我忘了设置UITextView Delegate。谢谢。
答案 1 :(得分:0)
这个表达很好
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
NSString *string = [[textView text] stringByReplacingCharactersInRange:range withString:text];
if ([string length] > 60)
{
return NO;
}
return YES;
}