我的UITextView
上限制为140个字。当我输入140个单词时,它工作正常。现在我使用此文本移动到下一个控制器,然后使用此文本返回到上一个控制器。我将此文本设置为UITextView
,但这不可编辑。如果我的长度小于140字,它工作正常。
这是我的代码
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)texst {
[myScrollView setContentOffset:CGPointMake(0, 100)];
if([texst isEqualToString:@"\n"]) {
[textView resignFirstResponder];
[myScrollView setContentOffset:CGPointMake(0, 0)];
return NO;
}
return textView.text.length < 140;
}
答案 0 :(得分:1)
-(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
[myScrollView setContentOffset:CGPointMake(0, 100)];
if([texst isEqualToString:@"\n"])
{
[textView resignFirstResponder];
[myScrollView setContentOffset:CGPointMake(0, 0)];
return NO;
}
if(range.length + range.location > textView.text.length)
return NO;
NSUInteger newLength = [textView.text length] + [text length] - range.length;
return (newLength >= 140) ? NO : YES;
}
只需复制并粘贴即可。我甚至不打算弄清楚它是如何工作的,但我从另一个stackoverflow问题中复制了它,我从那以后一直在使用它。显然它甚至适用于&#34;摇动撤消&#34;特征
顺便说一句,看起来您的最后一行代码是主要问题。如果文本长度为140,则该方法将返回false,并且您将无法编辑文本(即使您退格(它仍然是140并返回false))。祝你好运。