iOS 输入框限制字数一步到位

// 注册输入框改变监听方法字符串

[editTF addTarget:self action:@selector(textFieldDidChange:) forControlEvents:UIControlEventEditingChanged];get

// 如下为输入框改变方法实现:string

- (void)textFieldDidChange:(UITextField *)textField {
    int kMaxLength = 6;
    NSString *toBeString = textField.text;
    NSString *lang = [[UITextInputMode currentInputMode] primaryLanguage]; // 键盘输入方式
    if ([lang isEqualToString:@"zh-Hans"]) { 
        UITextRange *selectedRange = [textField markedTextRange];
        //获取高亮部分
        UITextPosition *position = [textField positionFromPosition:selectedRange.start offset:0];
        // 没有高亮选择的字,则对已输入的文字进行字数统计和限制
        if (!position) {
            if (toBeString.length > kMaxLength) {
                textField.text = [toBeString substringToIndex:kMaxLength];
            }
        }
        // 有高亮选择的字符串,则暂不对文字进行统计和限制
        else{
        }
    }
    // 中文输入法之外的直接对其统计限制便可,不考虑其余语种状况
    else{
        if (toBeString.length > kMaxLength) {
            textField.text = [toBeString substringToIndex:kMaxLength];
        }
    }it

}io

相关文章
相关标签/搜索