UITextField輸入長(zhǎng)度限制

方法一:
添加UIControlEventEditingChanged事件處理

  • 添加事件
[self.textField addTarget:self action:@selector(textFieldDidChange:) forControlEvents:UIControlEventEditingChanged];
  • 實(shí)現(xiàn)- textFieldDidChange:方法
#define kLimitLenth 11
- (void)textFieldDidChange:(UITextField *)textField
{
    UITextRange *selectedRange = textField.markedTextRange;
    if (!selectedRange || selectedRange.empty) {
        //這里取到textfielf.text最后的值 進(jìn)行檢索
        //NSLog(@"selectedRange textField.text [%@]", textField.text);
        NSString *text = textField.text;
        NSUInteger len = kLimitLenth;
        if (text.length >= len) {
            textField.text = [text substringToIndex:len];
            text = textField.text;
        }    
    }
}

方法二:
設(shè)置委托 - textField: shouldChangeCharactersInRange:replacementString來(lái)處理

#define kLimitLenth 11
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
    if (range.length >= 1) {
       return YES;
    }
    
    UITextRange *selectedRange = textField.markedTextRange;
    if (!selectedRange || selectedRange.empty) {
        NSString *text = textField.text;
        NSMutableString *mString = [NSMutableString stringWithString:text];
        [mString insertString:string atIndex:range.location];
        NSUInteger len = kLimitLenth;
        if (mString.length >= len) {
            textField.text = [mString substringToIndex:len];
            return NO;
        }
    }
    
    return YES;
}
最后編輯于
?著作權(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),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

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