2009-06-05 19 views
67

Come impostare il titolo di uno UIButton da allineare a sinistra e come posso visualizzare più righe di testo in un UIButton?UIButton allineamento titolo e supporto multilinea

+0

Si prega di aggiornare i tag o la tua domanda a dirci ciò che la tecnologia si tratta. –

+1

Sembra lo sviluppo di iPhone. – Kekoa

+22

Raju, dovresti davvero accettare le tue risposte ... questo è ciò che fa funzionare il sistema. – Codezy

risposta

129

Per impostare l'allineamento di un UIButton, cercare nel pulsante Impostazioni l'Inspector degli attributi in Interface Builder. C'è una sezione chiamata Allineamento. Impostalo a sinistra. O giusto o qualsiasi cosa tu voglia.

enter image description here

di farlo nel codice, utilizzare la proprietà contentHorizontalAlignment di UIControl. È possibile impostare a qualsiasi di queste proprietà:

UIControlContentHorizontalAlignmentCenter
UIControlContentHorizontalAlignmentLeft
UIControlContentHorizontalAlignmentRight
UIControlContentHorizontalAlignmentFill

[myButton setContentHorizontalAlignment:UIControlContentHorizontalAlignmentRight]; 

Nessuna di queste opzioni sembra particolarmente buono (come potete vedere sopra), e si potrebbe avere potrebbe avere più fortuna usando la proprietà contentEdgeInsets di UIButton per riposizionare il contenuto.

Per impostare un titolo multilinea su un UIButton, check this forum post che descrive cambiare l'etichetta del pulsante.

Oppure è possibile utilizzare questo codice per fare rapidamente un pulsante a 2 righe:

myButton.titleLabel.textAlignment = UITextAlignmentCenter; 
myButton.titleLabel.lineBreakMode = UILineBreakModeCharacterWrap; 
[myButton setTitle:@"Siegfried\nRoy" forState:UIControlStateNormal]; 

enter image description here

Raju, non dimenticate di segnare domande accettate.

+11

non hai ottenuto abbastanza per contrassegnare alcune delle tue domande ;-) –

+2

'numberOfLines' funziona su iOS5, ma devi ancora impostare' lineBreakMode' per iOS 4. –

+0

Nota che quando si imposta il titolo, è importante usare il messaggio che specifica UIControlState. Se lo si imposta come una proprietà, l'etichetta non verrà ridimensionata per il nuovo testo. Vedi: http://stackoverflow.com/questions/4576331/uibutton-label-text-is-being-clipped – AndrewCr

187

Ecco il codice per fare l'allineamento UIButton nel codice anche: -

[myButton setContentHorizontalAlignment:UIControlContentHorizontalAlignmentLeft]; 
+0

ottimo lavoro ......... –

7

In realtà, è possibile impostare il lineBreakMode a UILineBreakModeWordWrap o UILineBreakModeCharacterWrap. Ciò spezza il testo in più righe se necessario.

6

Prova questa

myButton.titleLabel.textAlignment = UITextAlignmentLeft; 
    myButton.titleLabel.lineBreakMode = UILineBreakModeCharacterWrap; 
    myButton.titleLabel.numberOfLines = 0; 
3

Per aggiungere un effetto Paragrafo è possibile modificare le dimensioni del titolo.

For alinea effect

Problemi correlati