2014-07-05 25 views
17

Ho un oggetto UITextField con la proprietà text impostata su "ciao". Tuttavia queste due righe non hanno alcun effetto su dove si trova "hi"Come centrare il testo UITextField in Swift

myUITextObject.contentVerticalAlignment = UIControlContentVerticalAlignment.Center 
myUITextObject.contentHorizontalAlignment = UIControlContentHorizontalAlignment.Center 

Si tratta di un bug in Swift? In tal caso, come faccio a registrarlo come un bug, in modo che Apple possa risolverlo nella prossima versione di Swift?

+0

@dasdom sì, e che non ha funzionato – almel

risposta

35

Si potrebbe voler scrivere in questo modo:

myUITextObject.textAlignment = .center 

(A cura di cambiare da .center a .center)

+0

Si noti inoltre che myUITextObject.contentVerticalAlignment può essere impostato su .Top, .Center, .Fill o .Bottom per influire sull'allineamento verticale –

+4

Centra il testo solo orizzontalmente e 'myUITextObject.contentVerticalAlignment' non è più una cosa. Qualche idea su come ottenere la centratura verticale senza fare uno strano incastro all'offset. – boidkan

+0

Grazie! Era pieno d'aiuto. – Raja

2

Quello che stai cercando è la proprietà textAlignment; provare questo:

myUITextObject.textAlignment = NSTextAlignmentCenter;

+4

Il codice mostrato in questa risposta sarà no lavorare in Swift (sarebbe in Objective-C). – Anna

+0

@Anna hai ragione, e ho cambiato la risposta corretta per essere Dave – almel

+0

@Anna solo curioso, perché il codice che ho incollato per la prima volta non funzionava, da altri post SO sembrava che fosse il modo di farlo. E avere due modi diversi di fare esattamente la stessa cosa sembra strano. – almel

0

Un altro modo per farlo , sta usando lo storyboard.

Infatti, esiste un controllo verticale e orizzontale che è possibile utilizzare per allineare il proprio elemento all'interno dello UITextField. Nel caso di cui sopra che allineare il testo al alto a sinistra:

enter image description here

Speranza che aiuta,

Problemi correlati