2010-07-14 16 views
10

C'è un modo per dimensionare automaticamente un UILabel? data la dimensione 40 x 40 la dimensione del carattere del testo si regolerebbe in base al numero di caratteri.Autosize UILabel

risposta

25

È possibile utilizzare la proprietà adjustFontSizeToFitWidth. Quindi qualcosa di simile.

UILabel *myLabel = [[UILabel alloc] init]; 
[myLabel setAdjustsFontSizeToFitWidth:YES]; 

In Interface Builder v'è una casella di controllo sull'etichetta Attributi schermo per permettere di regolare la dimensione del carattere per adattare l'etichetta pure.

+0

grazie per il codice di esempio – Yolanda

+0

Nessun problema. Siamo spiacenti, il codice di esempio utilizzato per leggere adjustFontSizeToWidth, ma dovrebbe essere adjustFontSizeToFitWidth. L'ho corretto – jergason

+0

Si salta una lettera in Regolazioni: [myLabel setAdjustsFontSizeToFitWidth: YES]; – beryllium

0

Con il concetto di progettazione di autolayout, non impostare i vincoli di altezza per UILabel e impostare no. di righe come 0.

L'autolayout si occupa automaticamente dell'altezza dinamica dell'etichetta in base al testo dell'etichetta. Se l'etichetta ha un testo a riga singola, occuperà solo lo spazio a linea singola. E se l'etichetta ha più di una riga, ridimensionerà l'etichetta in base alle dimensioni del testo e al numero di righe necessarie per visualizzare il testo.

Rif: UILabel - numberOfLines