Calcul du nombre de lignes de la dynamique UILabel (iOS7)

Il y a beaucoup de solutions à ces questions autour de, mais ne pouvait pas trouver non dépréciées.

J'ai un UILabel avec le mode de retour à la ligne et de largeur fixe, disons 250. Les lignes sont mis à 0.

Voici ce que j'ai essayé:

UILabel *contentLabel = (UILabel*)[contentView viewWithTag:10];
CGSize size = [contentLabel.text sizeWithFont:contentLabel.font forWidth:contentLabel.frame.size.width lineBreakMode:NSLineBreakByWordWrapping];
NSLog(@"Label's height is: %d", size.height);

La sortie de hauteur param est toujours 20 (c'est comme une ligne), tout en te texte de 30 lignes de long.

J'en ai besoin pour UIScrollView fins.

Si la réponse est oui, alors s'il vous plaît essayer cette [contentLabel sizeToFit]; Espérons que Cela permettra de résoudre votre problème.
Il n'y a aucune mention de l'utilisation de la UITableView.
désolé..merci pour le rendre remarqué pour moi..avez-vous essayé cette [contentLabel sizeToFit];
Dans la mesure où dans votre code que vous avez écrit forWidth , il devrait être constrainedToSize
Cmd + clic sur sizeWithFont:forWidth:lineBreakMode: et vous voyez la nouvelle méthode suggéré d'utiliser plutôt obsolète. Vous pouvez également utiliser la pré-version de la documentation de plus de détails.

OriginalL'auteur Jacek Kwiecień | 2013-09-13