UITextField auto-capitalization type - iPhone App

IosUitextfield

Ios Problem Overview


Is there a way to set the autocapitalizationType for a UITextField so that the first letter of each word is capitalized by default?

> This Is An Example Of What I Want

Ios Solutions


Solution 1 - Ios

Use textField.autocapitalizationType = UITextAutocapitalizationTypeWords;

For more information please read: UITextInputTraits Protocol Reference

Solution 2 - Ios

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:

enter image description 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:

enter image description here

"Capitalization" is the first option in this group, just passed picking the minimum font size for the text field.

Solution 3 - Ios

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];

Solution 4 - Ios

Yes. On InterfaceBuilder, on the textField attribute inspector, you can set up the Capitalization property to Words.

Solution 5 - Ios

There is an answer for Obj-C, im here for Swift;

textField.autocapitalizationType = UITextAutocapitalizationType.words

or shorter way

textField.autocapitalizationType = .words

Solution 6 - Ios

You can even do that form the Storyboard or .xib file. Just have to select the textfield and in the attribute inspector on the right there is a Capitalization section where you can pick whatever suits you. In your case it's capitalisation "Words".

Solution 7 - Ios

In Xamarin.ios / Monotouch this worked for me:

textField.AutocapitalizationType = UITextAutocapitalizationType.Words;

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionCodeGuyView Question on Stackoverflow
Solution 1 - IosAlexVogelView Answer on Stackoverflow
Solution 2 - IosnhgrifView Answer on Stackoverflow
Solution 3 - IosEvan MulawskiView Answer on Stackoverflow
Solution 4 - IosMarssonView Answer on Stackoverflow
Solution 5 - IosKemal Can KaynakView Answer on Stackoverflow
Solution 6 - IosmgmView Answer on Stackoverflow
Solution 7 - IosDaniele D.View Answer on Stackoverflow