先設(shè)置UITextField addTarget
-(void)nameFieldChange:(UITextField *)textField{
if ([textField.text isIncludingEmoji]) {
textField.text = [textField.text removedEmojiString];
}
if ([textField.text isIncludingNumber]) {
textField.text = [textField.text removedNumberString];
}
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];
// 沒有高亮選擇的字扣泊,則對已輸入的文字進(jìn)行字?jǐn)?shù)統(tǒng)計(jì)和限制
if (!position) {
if (toBeString.length > 4) {
textField.text = [toBeString substringToIndex:4];
}
}
// 有高亮選擇的字符串夸研,則暫不對文字進(jìn)行統(tǒng)計(jì)和限制
else{
}
}
// 中文輸入法以外的直接對其統(tǒng)計(jì)限制即可绊率,不考慮其他語種情況
else{
if (toBeString.length > 4) {
textField.text = [toBeString substringToIndex:4];
}
}
}
eg:設(shè)置UITextField的占位文字和箭頭的顏色
[textField setValue:color forKeyPath:@"_placeholderLabel.textColor"];
textField.tintColor = [UIColor redColor];
設(shè)置clearButton的樣式
UIButton *clearBtn = [textField valueForKey:@"_clearButton"];
[clearBtn setImage:[UIImage imageNamed:@"close"] forState:(UIControlStateNormal)];