Existe-t-il un moyen de définir autocapitalizationType pour un UITextField
afin que la première lettre de chaque mot soit en majuscule par défaut?
Ceci est un exemple de ce que je veux
Utilisation textField.autocapitalizationType = UITextAutocapitalizationTypeWords;
Pour plus d'informations, veuillez lire: Référence du protocole UITextInputTraits
Ce que nous voulons faire, c'est définir le autocapitalizationType
du champ de texte.
self.textfield.autocapitalizationType = UITextAutocapitalizationTypeWords
self.textfield.autocapitalizationType = .words
Il y a quelques options ici:
allCharacters
équivaut à taper deux fois sur la touche majuscule, en gros capslock.none
est assez explicite, le clavier n'essaiera jamais de mettre les lettres en majuscule.sentences
essaiera de mettre en majuscule le prochain mot après une ponctuation de fin.words
essayera de mettre en majuscule chaque nouveau mot (après un espace), ce qui semble être exactement ce que vous recherchez.Cette propriété peut également être définie à partir de l'inspecteur d'attributs du générateur d'interface lorsque le champ de texte approprié est sélectionné:
La "capitalisation" est la première option de ce groupe. Elle vient juste d'être passée en sélectionnant la taille de police minimale pour le champ de texte.
Définir la propriété capitalization
sur "Mots" suggérera à l'utilisateur de saisir des mots en majuscules. Ceci peut être annulé par l'utilisateur en dé-décalant le clavier. La meilleure chose à faire est de capitaliser les mots dans le code:
NSString *text = [myTextField.text capitalizedString];
Oui. Sur Interface Builder, dans l'inspecteur d'attributs Zone de texte, vous pouvez définir la propriété Capitalisation sur Mots.
Il y a une réponse pour Obj-C, je suis ici pour Swift;
textField.autocapitalizationType = UITextAutocapitalizationType.words
ou de manière plus courte
textField.autocapitalizationType = .words
Vous pouvez même faire cela à partir du fichier Storyboard ou .xib. Il suffit de sélectionner le champ de texte et dans l'inspecteur d'attributs sur la droite, il y a une section Capitalisation où vous pouvez choisir ce que vous voulez. Dans votre cas, c'est la capitalisation "Mots".
Dans Xamarin.ios/Monotouch, cela a fonctionné pour moi:
textField.AutocapitalizationType = UITextAutocapitalizationType.Words;