web-dev-qa-db-fra.com

Comment forcer UILabel à dessiner un texte avec des caractères majuscules?

Comment forcer UILabel à dessiner un texte avec des caractères majuscules?

27
Dmitry

Objectif-C

NSString *text = @"Hello";
[myLabel setText:[text uppercaseString]];

Swift 3 & 4

let text = "Hello"
myLabel.text = text.uppercased()
46
nevan king

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 .

19
ndbroadbent

Il s'agit de la version Swift 3 & Swift 4:

titleLabel.text = titleLabel.text?.uppercased() 
15
AndreasLukas

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 
7
CakeGamesStudios

Un examen rapide de la documentation aurait été plus rapide.

NSString *upperCase = [string uppercaseString];
4
Mundi