監(jiān)聽
[self.textTF addTarget:self action:@selector(textFieldTextChanged:) forControlEvents: UIControlEventEditingChanged];
- (void)textFieldTextChanged:(UITextField *)textField{
NSString *str = textField.text;
//中文輸入法下
UITextRange *selectedRange = [self.textTF markedTextRange];
//高亮部分
UITextPosition *postion = [self.textTF positionFromPosition:selectedRange.start offset:0];
// 沒有高亮選擇的字,則對(duì)已輸入的文字進(jìn)行字?jǐn)?shù)統(tǒng)計(jì)和限制
if (!postion) {
if (str.length > 5 ){ //判斷字符是否超過
self.textTF.text = [str substringToIndex:6];
}
}
}
//獲取字符長(zhǎng)度,中文為2
- (NSInteger )strLength:(NSString *)str {
NSInteger length = 0;
for(int i=0; i< [str length];i++) {
int a = [str characterAtIndex:i];
if( a > 0x4e00 && a < 0x9fff){//判斷輸入的是否是中文
length = length + 2;
} else {
length = length + 1;
}
}
return length;
}