2009-09-24 6 views
2

Cette question est plus à des fins de développement et ne serait jamais utilisée pour une application d'expédition. J'ai besoin de faire un UILabel rapide et sale dont le champ de texte je peux pointer vers une chaîne vraiment, vraiment longue. Vraiment long. J'ai ben dans l'IB et ne peux pas comprendre la poignée de main magique correcte pour permettre à un UILabel de gonfler à une taille vraiment grande. Quelqu'un a-t-il une idée?Puis-je définir un UILabel à développer pour s'adapter à une quantité arbitraire de texte?

Cheers, Doug

Répondre

11

Vous pouvez utiliser une méthode dans la UIKit additions to NSString pour y parvenir. Vous pouvez obtenir la taille à l'aide this method:

- (CGSize)sizeWithFont:(UIFont *)font 
      minFontSize:(CGFloat)minFontSize 
     actualFontSize:(CGFloat *)actualFontSize 
       forWidth:(CGFloat)width 
     lineBreakMode:(UILineBreakMode)lineBreakMode 

Définissez la taille de l'étiquette à la valeur de retour de cette méthode et vous êtes tous ensemble.

EDIT: Cette méthode concerne les chaînes à une ligne. Si votre chaîne est plus d'une ligne, utilisez this method:

- (CGSize)sizeWithFont:(UIFont *)font 
    constrainedToSize:(CGSize)size 
     lineBreakMode:(UILineBreakMode)lineBreakMode 
+0

excellent. Merci beaucoup Jeff. Cheers, Doug – dugla

+0

Pas de problème, Doug. Que diriez-vous de le marquer comme accepté afin que j'obtienne les points? ;-) –

+0

Oups, oublié. Terminé. À votre santé. – dugla

Questions connexes