Comment forcer UILabel
à dessiner un texte avec des caractères majuscules?
Objectif-C
NSString *text = @"Hello";
[myLabel setText:[text uppercaseString]];
Swift 3 & 4
let text = "Hello"
myLabel.text = text.uppercased()
Vous demandiez s'il pouvait y avoir un équivalent à la déclaration CSS text-transform: uppercase;
pour le texte attribué dans iOS. Malheureusement, ce n'est pas disponible, et je conviens qu'il pourrait être pratique d'ajouter un attribut pour cela.
J'ai personnellement sous-classé UILabel, ajouté une propriété booléenne uppercase
et remplacé le configurateur de texte afin qu'il appelle automatiquement uppercaseString
sur la nouvelle valeur si uppercase
est défini sur true .
Il s'agit de la version Swift 3 & Swift 4:
titleLabel.text = titleLabel.text?.uppercased()
Si vous souhaitez forcer une chaîne à s'afficher dans tous les caractères majuscules en Swift voici mon code qui fonctionne très bien pour moi.
titleLabel.text = youStringVariable.uppercaseString
Un examen rapide de la documentation aurait été plus rapide.
NSString *upperCase = [string uppercaseString];