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

时间:2013-03-11 22:04:27

标签: ios objective-c keyboard capitalize

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

4 个答案:

答案 0 :(得分:4)

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

您没有说明您使用的是UITextField还是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:方法。

答案 1 :(得分:2)

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

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

这使得文本在关闭键盘时会小写,这样就可以实现你想要的效果。

答案 2 :(得分:2)

textField.autocapitalizationType = UITextAutocapitalizationTypeNone;

答案 3 :(得分:0)

textField.autocapitalizationType = .none

for swift