UITextField auto-capitalization type - iPhone App
Setting the capitalization
property to "Words" will suggest that the user enter capitalized words. This can be overridden by the user by un-shifting on the keyboard. The best thing to do is capitalize the words in code:
NSString *text = [myTextField.text capitalizedString];
Use
textField.autocapitalizationType = UITextAutocapitalizationTypeWords;
For more information please read: UITextInputTraits Protocol Reference
What we want to do is set the text field's autocapitalizationType
.
Objective-C:
self.textfield.autocapitalizationType = UITextAutocapitalizationTypeWords
Swift:
self.textfield.autocapitalizationType = .words
There are a few options here:
allCharacters
is the same as double tapping the shift key, basically capslock.none
is pretty self-explanatory, keyboard will never try to capitalize letters.sentences
will try to capitalize the next word after an end mark punctuation.words
will try to capitalize every new word (after a space), which seems to be exactly what you're looking for.
This property can also be set from the Attributes Inspector of the interface builder when you have the appropriate text field selected:
"Capitalization" is the first option in this group, just passed picking the minimum font size for the text field.