Тип автоматической заглавной буквы UITextField - приложение для iPhone

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

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

Ответ 1

Использование textField.autocapitalizationType = UITextAutocapitalizationTypeWords;

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

Ответ 2

Мы хотим установить текстовое поле autocapitalizationType.

Objective-C:

self.textfield.autocapitalizationType = UITextAutocapitalizationTypeWords

Swift:

self.textfield.autocapitalizationType = .words

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

enter image description here

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

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

enter image description here

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

Ответ 3

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

NSString *text = [myTextField.text capitalizedString];

Ответ 4

Да. В InterfaceBuilder, в инспекторе атрибутов textField, вы можете настроить свойство "Капитализация" на "Слова".

Ответ 5

Существует ответ для Obj-C, im здесь для Swift;

textField.autocapitalizationType = UITextAutocapitalizationType.Words

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

textField.autocapitalizationType = .Words

Ответ 6

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

Ответ 7

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

textField.AutocapitalizationType = UITextAutocapitalizationType.Words;