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

Abh*_*nav 0 xcode cocoa-touch objective-c uitextview ios

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

- (BOOL)textView:(UITextView *)iTextView shouldChangeTextInRange:(NSRange)iRange replacementText:(NSString *)iText
Run Code Online (Sandbox Code Playgroud)

Gab*_*lla 5

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

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