限制textfield輸入字?jǐn)?shù)

// 限制textfield輸入字?jǐn)?shù)

- (NSString *)limitTextFieldNum:(UITextField *)textField withNum:(NSInteger)maxNum{

? ?NSInteger kMaxLength = maxNum;

? ? NSString *toBeString = textField.text;

? ? NSString *lang = [[UIApplication sharedApplication]textInputMode].primaryLanguage; //ios7之前使用[UITextInputMode currentInputMode].primaryLanguage

? ? if ([lang isEqualToString:@"zh-Hans"]) { //中文輸入

? ? ? ? UITextRange *selectedRange = [textField markedTextRange];

? ? ? ? //獲取高亮部分

? ? ? ? UITextPosition *position = [textField positionFromPosition:selectedRange.start offset:0];

? ? ? ? if (!position) {// 沒有高亮選擇的字,則對(duì)已輸入的文字進(jìn)行字?jǐn)?shù)統(tǒng)計(jì)和限制

? ? ? ? ? ? if (toBeString.length > kMaxLength) {

? ? ? ? ? ? ? ? textField.text = [toBeString substringToIndex:kMaxLength];

? ? ? ? ? ? }

? ? ? ? }

? ? ? ? else{//有高亮選擇的字符串,則暫不對(duì)文字進(jìn)行統(tǒng)計(jì)和限制

? ? ? ? ? ? if (toBeString.length > kMaxLength) {

? ? ? ? ? ? ? ? textField.text = [toBeString substringToIndex:kMaxLength];

? ? ? ? ? ? }

? ? ? ? }

? ? }else{//中文輸入法以外的直接對(duì)其統(tǒng)計(jì)限制即可,不考慮其他語種情況

? ? ? ? if (toBeString.length > kMaxLength) {

? ? ? ? ? ? textField.text = [toBeString substringToIndex:kMaxLength]; ?

? ? ? ? ?}

?}

? ? return textField.text;

}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容