一个小需求: 输入框可以输入汉字和英文字母输入英文字母自动变成大写,汉字不受影响;

代码如下:
- (BOOL)textField:(UITextField*)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString*)string{
if (kFSStringIsEmpty(string)) {
returnYES;
}
NSString*language = [textField.textInputMode primaryLanguage];
if([languageisEqualToString:@"zh-Hans"]) {//中文
if(range.length>0) {
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
textField.text= textField.text.uppercaseString;
});
}
returnYES;
}elseif([languageisEqualToString:@"en-US"]){//英文
textField.text=kAppendString(textField.text, string.uppercaseString);
}
return NO;
}
网友评论