不要试图强制键盘为小写,只需在用户键入字符后强制为小写即可。
你没有说你是使用 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:方法。
您可以做的就是在关闭键盘后将文本框的字符串变为小写。例如,
[sender resignFirstResponder];
textField.text = textField.text.lowercaseString;
Run Code Online (Sandbox Code Playgroud)
当他们关闭键盘时,这会使文本变成小写,这就是你想要的。