Obtenir le NSString hauteur

J'ai un NSString, et je veux savoir sa hauteur pour créer une UILabel.

Faire ce

NSString *string = @"this is an example"; 
CGSize size = [string sizeWithFont:[UIFont systemFontOfSize:10.0f] 
                          forWidth:353.0 
                     lineBreakMode:UILineBreakModeWordWrap];
float height = size.height;

hauteur est maintenant 13.0.
Si j'utilise cette chaîne

NSString *string = @"this is an example this is an example this is an example 
                     this is an example this is an example this is an example 
                     this is an example this is an example this is an example 
                     this is an example this is an example this is an example 
                     this is an example this is an example this is an example 
                     this is an example "; 

hauteur est toujours 13.0 (et avec 353 que la largeur, c'est impossible)... ce que je fais mal?

AJOUTER:

size.width;

fonctionne très bien... donc c'est comme si le lineBreakMode n'est pas correct... mais il est, n'est-ce pas?

Vous êtes de prendre de la taille de l'objet string, pas la CGSize vous venez de créer. C'est qu'une faute de frappe?
mais sizeWithFont:forWidth:lineBreakMode prend un NSString (pas un UILabel, par exemple)... donc c'est correct... ou pas?
Il ne le prend pas, à proprement parler, il agit sur lui, et vous donne en un de taille. Donc, si vous deviez changer float height = string.height; à float height = size.height;, je devine qu'il va faire plus de sens.
oui oui, désolé... j'ai écrit ici mal (mais dans Xcode, il était juste... et le journal est de 13,0)!

OriginalL'auteur JAA | 2011-08-05