it-swarm.com.ru

Тип автокапитализации UITextField - приложение для iPhone

Есть ли способ установить autocapitalizationType для UITextField, чтобы первая буква каждого слова была заглавной по умолчанию?

Это пример того, что я хочу

102
CodeGuy

Используйте textField.autocapitalizationType = UITextAutocapitalizationTypeWords;

Для получения дополнительной информации, пожалуйста, прочитайте: Справочник по протоколу UITextInputTraits

224
AlexVogel

Что мы хотим сделать, это установить текстовое поле autocapitalizationType.

Objective-C:

self.textfield.autocapitalizationType = UITextAutocapitalizationTypeWords

Swift:

self.textfield.autocapitalizationType = .words

Здесь есть несколько вариантов:

enter image description here

  • allCharacters - это то же самое, что двойное нажатие клавиши Shift, в основном это capslock.
  • none довольно понятен, клавиатура никогда не будет пытаться использовать заглавные буквы.
  • sentences попытается использовать заглавную букву следующего слова после пунктуации в конце.
  • words будет пытаться использовать каждое новое слово (после пробела) с заглавной буквы, что, как представляется, именно то, что вы ищете.

Это свойство также можно установить в Инспекторе атрибутов построителя интерфейса, если выбрано соответствующее текстовое поле:

enter image description here

"Прописная буква" - это первая опция в этой группе, только что пройденная при выборе минимального размера шрифта для текстового поля.

36
nhgrif

Если для свойства capitalization установлено значение "Слова", то будет предлагаться то, что пользователь вводит слова с большой буквы. Это может быть отменено пользователем, не сдвигаясь на клавиатуре. Лучшее, что можно сделать, это использовать заглавные слова в коде:

NSString *text = [myTextField.text capitalizedString];
8
Evan Mulawski

Да. В Интерфейсном Разработчике, в инспекторе атрибутов текстового поля, вы можете установить свойство Capitalization в слова.

7
Marsson

Есть ответ для Obj-C, я здесь для Swift;

textField.autocapitalizationType = UITextAutocapitalizationType.words

или более короткий путь

textField.autocapitalizationType = .words
4
Kemal Can Kaynak

Вы даже можете сделать это с помощью раскадровки или файла .xib. Просто выберите текстовое поле, и в инспекторе атрибутов справа есть раздел "Капитализация", где вы можете выбрать все, что вам подходит. В вашем случае это заглавные буквы.

1
mgm

В Xamarin.ios/Monotouch это сработало для меня:

textField.AutocapitalizationType = UITextAutocapitalizationType.Words;
0
Daniele D.