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;

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。