如何限制UITextView中的字符?

the*_*tic 6 iphone character objective-c uitextview ios

我一直在寻找解决方案,并找到了以下代码.但不幸的是,我不知道如何使用它.

- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)string {
        NSUInteger newLength = [textField.text length] + [string length] - range.length;
        return (newLength > 25) ? NO : YES;
    }
Run Code Online (Sandbox Code Playgroud)

出于测试目的,我设置了一个 IBACTION

-(IBAction)checkIfCorrectLength:(id)sender{
    [self textView:myTextView shouldChangeTextInRange: ?? replacementText: ?? ];

}
Run Code Online (Sandbox Code Playgroud)

我怎么传为shouldChangeTextInRangereplacementText?或者我完全错了?

rob*_*off 11

调用textView:shouldChangeTextInRange:replacementText:checkIfCorrectLength:没有意义.如果要从多个方法测试长度,请将测试考虑到自己的方法中:

- (BOOL)isAcceptableTextLength:(NSUInteger)length {
    return length <= 25;
}

- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)string {
    return [self isAcceptableTextLength:textField.text.length + string.length - range.length];
}

-(IBAction)checkIfCorrectLength:(id)sender{
    if (![self isAcceptableTextLength:self.textField.text.length]) {
        // do something to make text shorter
    }
}
Run Code Online (Sandbox Code Playgroud)