1. 程式人生 > >ios textfield和textView完美簡單的字數限制

ios textfield和textView完美簡單的字數限制

如果是textfield新增一個方法[self.textField addTarget:self action:@selector(textFieldChanged:) forControlEvents:UIControlEventEditingChanged]

如果是textView代理方法- (void)textViewDidChange:(UITextView *)textView

然後在方法中新增如下程式碼

 NSString *lang = [[UIApplication sharedApplication]textInputMode].primaryLanguage ;
    if ([lang isEqualToString:@"zh-Hans"]){//如果輸入法為漢字
        UITextRange *selectedRange = [textField markedTextRange];
        //獲取高亮部分
        UITextPosition *position = [textField positionFromPosition:selectedRange.start offset:0];
        if (!position) { // 沒有高亮選擇的字,則對已輸入的文字進行字數統計和限制
            if (self.textField.text.length>100) {
                self.textField.text = [self.textField.text substringToIndex:100];
            }
            self.numberLabel.text = [NSString stringWithFormat:@"%d/100",(int)self.textField.text.length];
        }
        
    }else{
        //不為漢字
        if (self.textField.text.length>100) {
            self.textField.text = [self.textField.text substringToIndex:100];
        }
        self.numberLabel.text = [NSString stringWithFormat:@"%d/100",(int)self.textField.text.length];
    }