Я хотел бы повернуть клавиатуру своего пользователя от верхнего регистра до нижнего регистра, чтобы заставить печатать в нижнем регистре. Как я могу это сделать?Программно переключайте клавиатуру от верхнего регистра до нижнего регистра
ответ
Что вы можете сделать, это сделать строку текстового поля в нижнем регистре после закрытия клавиатуры. Например,
[sender resignFirstResponder];
textField.text = textField.text.lowercaseString;
Это делает текст строчным, когда они закрывают клавиатуру, которая делает то, что вы хотите.
Это будет хорошо, за исключением того, что я меняю свой текст прямо сейчас, заставляя замок блокировки включаться после каждой клавиши, нажимающей ... однако пользователь может захотеть, чтобы буква была заглавной, но на данный момент она или нет. вкл. или выкл., он будет принудительно включен после нажатия каждой клавиши. –
Вместо того чтобы пытаться заставить клавиатуру в нижнем регистре, просто введите символы в нижний регистр после того, как пользователь наберет их.
Вы не сказали, используете ли вы 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;
textField.autocapitalizationType = .none
для быстрой
Вы можете получить UIWindow, содержащий клавиатуру и использовать несколько очень очень противозаконные API, кварцевые, чтобы имитировать прикосновение вниз в общей близости ключа капс. Или просто позвольте текстовым средствам управления iOS обрабатывать его, установив его как «capitalizationType». Возьмите свой выбор. – CodaFi
@CodaFi: D: D: D – 2013-03-11 22:32:41
@CodaFi проблема в том, что когда я вызываю 'textView shouldChangeTextInRange' и использую свои собственные методы для обновления textView, а затем' return NO; 'код никогда не вызывается, чтобы отключить ключ caps после нажатия первого ключа (например, заглавной буквы первой буквы предложения). Поэтому мне нужно сделать свой собственный метод, перейдя в iOS, добавив текст, который пользователь набрал, а затем все остальные возвратит все другие методы. –