iOS 输入框 字母自动变成大写

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

代码如下:

- (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;

}

你可能感兴趣的:(iOS 输入框 字母自动变成大写)