美文网首页
UITextView和UITextField限制输入字符 和点击

UITextView和UITextField限制输入字符 和点击

作者: 安红唯CC | 来源:发表于2017-10-26 11:08 被阅读19次

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限制输入字符 和点击

      本文链接:https://www.haomeiwen.com/subject/joafjttx.html