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

相關文章
相關標籤/搜索