55 votes

Comment ajuster et faire en sorte que la largeur d'un UILabel s'adapte à la taille du texte ?

Dans mon projet, il y a une balise UILabel avec du texte. La taille de la police est de 16pt. Le contenu du texte change en fonction de différents cas. J'espère qu'il peut ajuster automatiquement la largeur de la UILabel pour s'adapter à la largeur totale des textes sans les étirer.

Est-ce possible ?

2voto

A.G Points 9897

Utilisation de la disposition automatique :

entrer une description de l'image ici

Dans le ViewController :

override func viewDidLoad() {
    super.viewDidLoad()

    sampleLabel.text = "Maintenance électrique et réparation"
    sampleLabel.sizeToFit()
}

1voto

iphonemaclover Points 1096

Comme sizeWithFont est obsolète dans IOS 7.0, voici le code ci-dessous :

#define SYSTEM_VERSION_LESS_THAN(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedAscending)

 if (SYSTEM_VERSION_LESS_THAN(@"7.0")) {
        // code ici pour iOS 5.0, 6.0, etc.
        CGSize fontSize = [itemCat_text sizeWithFont:[UIFont fontWithName:@"Helvetica" size:12]];
    } else {
        // code ici pour iOS 7.0
         fontSize = [itemCat_text sizeWithAttributes:
                           @{NSFontAttributeName:
                                 [UIFont fontWithName:@"Helvetica" size:12]}];
    }

1voto

Suivez ceci.

CGSize stringsize = [yourString sizeWithFont:[UIFont systemFontOfSize:fontSize]]; 
[label setFrame:CGRectMake(x,y,stringsize.width,height)];
[label setText: yourString];

0voto

Kerem DEMİR Points 15

Ce code sera suffisant.

yourLabel.sizeToFit()

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X