5

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

4

4 回答 4

6

与其试图强制键盘为小写,不如在用户键入后强制字符为小写。

您没有说您使用的是 aUITextField还是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;
}

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

于 2013-03-11T22:30:39.950 回答
3

textField.autocapitalizationType = UITextAutocapitalizationTypeNone;

于 2015-04-20T04:02:19.157 回答
2

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

[sender resignFirstResponder];
textField.text = textField.text.lowercaseString;

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

于 2013-03-11T22:13:54.183 回答
0

textField.autocapitalizationType = .none

为了迅速

于 2017-10-04T08:02:47.627 回答