美文网首页
UITextField限制输入文字数量

UITextField限制输入文字数量

作者: 姚姚先生 | 来源:发表于2017-08-30 10:31 被阅读75次
    • 直入主题
      1.首先我们给UITextField加一个事件,来实时监测输入的内容
        UITextField *titleField = [[UITextField alloc] init];
        titleField.borderStyle = UITextBorderStyleNone;
        titleField.delegate = self;
        titleField.textColor = black;
        titleField.font = font;
        titleField.placeholder = @"最多10个字符";
        titleField.returnKeyType = UIReturnKeyDone;
        titleField.layer.cornerRadius = 3.0f;
        titleField.layer.borderWidth = .5f;
        titleField.layer.borderColor = [UIColor colorFromString:@"#a6a6a6"].CGColor;
        [titleField setValue:[UIColor colorFromString:@"#c2c1c1"] forKeyPath:@"_placeholderLabel.textColor"];
        [titleField setValue:[UIFont boldSystemFontOfSize:16] forKeyPath:@"_placeholderLabel.font"];
        [titleField addTarget:self action:@selector(textFiledDidChange:) forControlEvents:UIControlEventEditingChanged];
    
    

    2.实现textFiledDidChange方法(可以在一个页面判断多个UITextField)

    #pragma mark - 判断输入框字符串的长度
    - (void)textFiledDidChange:(UITextField *)textField
    {
        NSLog(@"%@", textField.text);
        int length = [self convertToInt:textField.text];
        //如果输入框中的文字大于10,就截取前10个作为输入框的文字
        if (textField == self.conditionField) {
            if (length > 6) {
                textField.text = [textField.text substringToIndex:6];
            }
        }else if (textField == self.titleField){
            
            if (length > 10) {
                textField.text = [textField.text substringToIndex:10];
            }
        }
    }
    
    

    3.截取文字的方法

    //下面这个方法主要是为了判断textField中汉字的个数
    - (int)convertToInt:(NSString *)strtemp//判断中英混合的的字符串长度
    {
        int strlength = 0;
        for (int i=0; i< [strtemp length]; i++) {
            int a = [strtemp characterAtIndex:i];
            if( a > 0x4e00 && a < 0x9fff) { //判断是否为中文
                strlength += 1;
            }else{
                strlength += 1;
            }
        }
        return strlength;
    }
    

    记录开发点滴, 你我一起成长.

    相关文章

      网友评论

          本文标题:UITextField限制输入文字数量

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