以编程方式将键盘从大写切换为小写

Alb*_*haw 5 keyboard objective-c capitalize ios

我想将用户的键盘从大写转为小写以强制输入小写。我怎样才能做到这一点?

rob*_*off 5

不要试图强制键盘为小写,只需在用户键入字符后强制为小写即可。

你没有说你是使用 aUITextField还是 a UITextView。假设您正在使用UITextField.

声明您的视图控制器采用该UITextFieldDelegate协议,并将文本字段的委托设置为视图控制器。

在视图控制器中,实现这个方法:

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
    string = [string lowercaseString];
    textField.text = [textField.text stringByReplacingCharactersInRange:range
        withString:string];
    return NO;
}
Run Code Online (Sandbox Code Playgroud)

如果您使用的是UITextView,请采用UITextViewDelegate协议并实现该textView:shouldChangeTextInRange:replacementText:方法。


Chr*_*nam 2

您可以做的就是在关闭键盘后将文本框的字符串变为小写。例如,

[sender resignFirstResponder];
textField.text = textField.text.lowercaseString;
Run Code Online (Sandbox Code Playgroud)

当他们关闭键盘时,这会使文本变成小写,这就是你想要的。