在UITextView上使用有限字符形成粘贴操作

时间:2013-04-09 17:27:02

标签: ios objective-c xcode cocoa-touch uitextview

我有一个UITextView,我限制用户输入超过150个字符。我通过实现以下方法来做到这一点。现在,当用户复制超过150个字符并将其粘贴到此文本视图中时,由于此方法验证,不允许粘贴操作。在包含超过150个字符的粘贴操作时,我想先取150个字符并将其粘贴到UITextView中。我怎么能这样做?

- (BOOL)textView:(UITextView *)iTextView shouldChangeTextInRange:(NSRange)iRange replacementText:(NSString *)iText

1 个答案:

答案 0 :(得分:5)

- (BOOL)textView:(UITextView *)iTextView shouldChangeTextInRange:(NSRange)iRange replacementText:(NSString *)iText {
    if (iText.length < 150) {
        return YES;
    }
    iTextView.text = [iText substringToIndex:150];
    return NO;
}

简而言之,通过获取输入字符串的子字符串来检查输入是否超出边界并取前150个字符。手动将其插入文本视图并返回NO