2013-04-18 34 views
6

Penso che la mia domanda sia correlata a thread. Ho una schermata di accesso con due campi UIText (utente/passaggio). Entrambi sono allineati orizzontalmente al centro del testo segnaposto. Quando premo un campo, il testo segnaposto salta un po 'a sinistra e il marcatore è posizionato dopo il primo carattere (che sembra orribile).Il testo in UITextField non centrerà correttamente

Text field in focus.

Quando inizio a digitare, il pulsante Cancella appare (come dovrebbe) ma il testo non è centrato correttamente nella vista UITextField.

Textfield with text

Il problema si verifica solo quando un campo di testo ha first responder.

Come posso fare in modo che il testo del darn e il testo segnaposto restino al centro del campo di testo ???

UPDATE: impostazioni del campo di testo in Storyboard:

Text field settings in Storyboard

+0

rimuovere il pulsante chiaro =) o aggiungere la vista con la stessa dimensione in 'leftView', e la stessa modalità di visualizzazione – Ossir

+0

NOOOOO :) Certo, quello risolve il problema ma quello non può essere l'unica opzione. Mi piacerebbe davvero che il pulsante di cancellazione si aprisse quando si modifica – SkeetSkeet

+0

postare il codice per riferimento – NANNAV

risposta

-1

Si prega di consultare l'allineamento di controllo nell'immagine qui sotto e impostare di conseguenza. Si risolverà il vostro problema enter image description here

0

Ho avuto lo stesso problema e quello che ho fatto è che ho creato il mio controllo personalizzato che ha UITextField sopra e al di sotto UILabel entrambi i controlli ha la stessa larghezza e altezza. Quando ho bisogno di visualizzare segnaposto di testo, imposto l'etichetta alpha su 1 e quando ho bisogno di nascondere il segnaposto, imposto l'alpha su 0. Inoltre, imposto il testo inoput bg color per cancellare il colore. Oltre a fare tutto questo implemento UITextFieldDelegate (textFieldDidBeginEditing/textFieldDidEndEditing/shouldChangeCharactersInRange)