textView的delegate监控用户的正确姿势


- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text {
    
    NSString *targetString = [textView.text stringByReplacingCharactersInRange:range withString:text];

    if (targetString.length  > _inputCount) {
        textView.text = [targetString substringToIndex:_inputCount];
        return NO;
    }
    return YES;
}

类似于这样写法,在用户输入不符合要求时(如一次性粘贴大量文本),该方法返回NO,UI不会出问题。若是在- (void)textViewDidChange:(UITextView *)textView方法中监控/修改文本,则可能会出现排版问题。

你可能感兴趣的:(textView的delegate监控用户的正确姿势)