2011-11-21 23 views
8

Possiedo un'applicazione che consente all'utente di utilizzare il gesto di pizzicamento per ridimensionare l'etichetta Come posso modificare la dimensione del carattere in base alla nuova dimensione del fotogramma in modo che il carattere si adatti al rettangolo del riquadro?Imposta la dimensione del font UILabel in base alle dimensioni della cornice?

Il mio passaggio corrente è impostato solo sull'etichetta con una nuova trasformazione e il testo apparirà sfocato se l'etichetta è ridimensionata troppo piccola/grande. Voglio garantire che l'etichetta possa visualizzare chiaramente il testo in cui il testo può avere la dimensione massima in base al nuovo rettangolo del riquadro.

risposta

35
myLabel.adjustsFontSizeToFitWidth = YES; 

Se si utilizza InterfaceBuilder, selezionare "Autoshrink" per l'etichetta.

Assicurarsi che "Dimensione minima" non sia troppo grande.

+1

Dal momento che voglio consentire all'utente di pizzicare la dimensione come vogliono, ho impostato la dimensione del carattere a 300 quando si avvia. Ma il testo sembra non regolare quando l'etichetta è piccola. Il codice che ho: \t [label setText: text]; \t [label setTextColor: color]; \t [label setFont: font]; // font ha impostato su 300 300 \t [label setNumberOfLines: 1]; \t [label setMinimumFontSize: 5]; \t [label setAdjustsFontSizeToFitWidth: YES]; – Hanon

+1

Ovviamente ci sarebbe un certo limite di caratteri. Dopo un certo livello non sarà molto più agevole visto che sono normali. Altrimenti sono d'accordo con la risposta di Sanjay. Immagino che sia l'unico modo. – Mrunal