我想将用户的键盘从大写变为小写以强制键入小写。我怎么能这样做?
答案 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