UITextView實時跟蹤輸入文字的個數,超過禁止輸入並階段

#pragma mark - UITextViewDelegate
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text{
    if([text isEqualToString:@"\n"]){
        [textView resignFirstResponder];
        return NO;
    }
    
    UITextRange *selectedRange = [textView markedTextRange];
    UITextPosition *position = [textView positionFromPosition:selectedRange.start offset:0];
    if(position && (range.length==0 || text.length==0)){
        return YES;
    }else{
        NSString *str = [textView.text stringByReplacingCharactersInRange:NSMakeRange(range.location, range.length) withString:text];
        if(str.length>40){
            self.remarkTextView.text = [str substringToIndex:40];
            [self.dict setObject:self.remarkTextView.text forKey:@"remark"];
            if(self.ticketParamEdit){
                self.ticketParamEdit(self.dict, self);
            }
            return NO;
        }else{
            [self.dict setObject:str forKey:@"remark"];
            if(self.ticketParamEdit){
                self.ticketParamEdit(self.dict, self);
            }
        }
    }
    return YES;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章