UITextView和UITextField限制输入字符 和点击return键的操作

UITextView和UITextField限制输入字符


(void)textViewDidChange:(UITextView *)textView{

if (textView.markedTextRange == nil && textView.text.length > 1500) {

//截取

textView.text = [textView.text substringToIndex:1500];

     }

}

- (void)editingChange:(UITextField *)sender {

NSInteger kMaxLength = 30;

NSString *toBeString = sender.text;

NSString *lang = [[UIApplication sharedApplication]textInputMode].primaryLanguage; //ios7之前使用[UITextInputMode currentInputMode].primaryLanguage

if ([lang isEqualToString:@"zh-Hans"]) { //中文输入

    UITextRange *selectedRange = [sender markedTextRange];

   //获取高亮部分

   UITextPosition *position = [sender positionFromPosition:selectedRange.start offset:0];

   if (!position) {// 没有高亮选择的字,则对已输入的文字进行字数统计和限制

     if (toBeString.length > kMaxLength) {

          sender.text = [toBeString substringToIndex:kMaxLength];

        }

   }

else{//有高亮选择的字符串,则暂不对文字进行统计和限制

}

}else{//中文输入法以外的直接对其统计限制即可,不考虑其他语种情况

if (toBeString.length > kMaxLength) {

sender.text = [toBeString substringToIndex:kMaxLength];

       }

  }

}

return键的操作

//点击textView 

-(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString*)text

{

if ([text isEqualToString:@"\n"]) {

[textView resignFirstResponder];

return NO;

}

return YES;

}

#pragma mark -- UITextFieldDelegate

- (BOOL)textFieldShouldReturn:(UITextField *)textField{

if (textField == self.passWordTextField) {

[textField resignFirstResponder];

}

return YES;

}

你可能感兴趣的:(UITextView和UITextField限制输入字符 和点击return键的操作)