UITextView或UITextField字数限制,输入时的限制,复制粘贴时的限制
字数限制有三种方法
在代理方法“- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string”或“- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text”中实现两种方法
方法1(只能在输入时限制,复制粘贴时无法限制)
if (range.location > MaxCharacterNumber - 1)
{
textField.text = [textField.text substringToIndex:MaxCharacterNumber];
return NO;
}
方法2(输入及复制粘贴时均可限制)
NSString *temp = [textField.text stringByReplacingCharactersInRange:range withString:string];
if (temp.length > MaxCharacterNumber)
{
textField.text = [temp substringToIndex:MaxCharacterNumber];
return NO;
}
在代理方法“- (void)textViewDidChange:(UITextView *)textView”中实现一种方法
方法3(复制粘贴时均可限制)
NSString *textString = textView.text;
if (textString.length > MaxCharacterNumbers + 1)
{
textView.text = [textString substringToIndex:MaxCharacterNumbers];
return;
}
注意:“NSString *temp = [textField.text stringByReplacingCharactersInRange:range withString:string];”为字符范围替换为指定的字符串,返回新的字符串。