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 A
Yes. On InterfaceBuilder, on the textField attribute inspector, you can set up the Capitalization property to Words.
There is an answer for Obj-C, im here for Swift;
textField.autocapitalizationType = UITextAutocapitalizationType.words
or shorter way
textField.autocapitalizationType = .words
Use
textField.autocapitalizationType = UITextAutocapitalizationTypeWords;
For more information please read: UITextInputTraits Protocol Reference
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".
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];
In Xamarin.ios / Monotouch this worked for me:
textField.AutocapitalizationType = UITextAutocapitalizationType.Words;