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方法中监控/修改文本,则可能会出现排版问题。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容