[UITextField addTarget: self action: @selector(textFieldDidChange:) forControlEvents: UIControlEventEditingChanged];
UITextField.tag = X // x為你要限制的字?jǐn)?shù)
- (void)textFieldDidChange: (UITextField*)textfield {
? ? NSString*contentText = textfield.text;
? ? // 獲取高亮內(nèi)容的范圍
? ? UITextRange *selectedRange = [textfield?markedTextRange];
? ? // 這行代碼 可以認(rèn)為是 獲取高亮內(nèi)容的長(zhǎng)度
? ? NSInteger markedTextLength = [textfield?offsetFromPosition: selectedRange.start toPosition: selectedRange.end];
? ? // 沒有高亮內(nèi)容時(shí),對(duì)已輸入的文字進(jìn)行操作
? ? if(markedTextLength == 0 ) {
? ? ? ? // 如果 text field 的內(nèi)容長(zhǎng)度大于我們限制的內(nèi)容長(zhǎng)度
? ? ? ? if(contentText.length>?textfield.tag) {
? ? ? ? ? ? // 此方法用于在字符串的一個(gè)range范圍內(nèi)洲鸠,返回此range范圍內(nèi)完整的字符串的range
? ? ? ? ? ? NSRange rangeRange = [contentText rangeOfComposedCharacterSequencesForRange: NSMakeRange(0, ?textfield.tag)];
? ? ? ? ? ? textfield.text= [contentText substringWithRange: rangeRange];
? ? ? ? }
? ? }
}