我想将用户的键盘从大写字母变成小写字母,强制输入小写字母。我该怎么做?
不要试图强制键盘转换为小写,只需在用户输入后将字符强制转换为小写即可。
您没有说明您是使用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:
方法。textField.autocapitalizationType = UITextAutocapitalizationTypeNone;
的意思是关闭文本框自动大写功能。您可以在关闭键盘后将文本框中的字符串转换为小写。例如,
[sender resignFirstResponder];
textField.text = textField.text.lowercaseString;
textField.autocapitalizationType = .none
针对 Swift
capitalizationType
来实现。随你选择。 - CodaFitextView shouldChangeTextInRange
并使用我的自定义方法来更新 textView,然后return NO;
代码永远不会被调用以关闭大写键(例如将句子的第一个字母大写)。因此,我需要执行我的自定义方法,覆盖 iOS 添加用户输入文本的操作,然后仍然返回所有其他方法。 - Albert Renshaw