在有限的textField长度上剪切粘贴的文本

时间:2018-06-13 22:34:06

标签: ios objective-c cocoa-touch

我的代码如下:

- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
    if(range.length + range.location > textView.text.length)
    {
       return NO;
    }
    NSUInteger newLength = [textView.text length] + [text length] - range.length;
    return newLength <= 80;
}

在textField中将文本编辑限制为最多80个字符。

我想要一种方法来浏览textField中的文本,但不会被拒绝粘贴,只需剪切它就可以填充80个字符。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

创建新字符串,截断为80,然后更新文本视图。

- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
    NSString *newText = [textView.text stringByReplacingCharactersInRange:range withString: text];
    if (newText.length > 80) {
        newText = [newText substringToIndex: 80];
        textView.text = newText;

        return NO;
    } else {
        return YES;
    }
}