美文网首页iOS 技巧
Ios---输入框的字符限制

Ios---输入框的字符限制

作者: kYoungAa | 来源:发表于2020-12-19 13:59 被阅读0次

    吴江之畔、何不是项王,战他个荡气回肠。

    目前对于App来说,交易密码、登陆密码、等输入框情形都需要限制输入的字符个数。运用输入框属性我们来做一个数字限制(单独数字使用)和文字限制(文字数字双份使用,文字限制内部分包含直接对数字情况下的直接限制),不然把数字的运用到文字限制上就会出现差错。

    #pragma mark -- 设定可输入12位数
    - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
        
        NSInteger maxNumber = 12;//字数 放空为全局属性
            NSString * IndexString = [textField.text stringByReplacingCharactersInRange:range withString:string];
            if (IndexString.length > maxNumber && range.length!=1){
                textField.text = [IndexString substringToIndex: maxNumber];  
                return NO;   
            }
        return YES;
    

    文字限制

    #pragma mark -- 限制输入字数
    - (void)textFieldDidChange:(UITextField *)textField
    {
        //最大长度
        NSInteger maxNumber = 12;
    
        NSString *IndexString = textField.text;
    
        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 (IndexString.length > maxNumber) {
                    textField.text = [IndexString substringToIndex:maxNumber];
                    [textField resignFirstResponder];
                }
            } else {
    //有
            }
        } else {//中文以外的直接限制
            if (IndexString.length > maxNumber) {
                textField.text = [IndexString substringToIndex:maxNumber];
            }
        }
    }
    

    相关文章

      网友评论

        本文标题:Ios---输入框的字符限制

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