Ho un bug molto strano che prova a centro orizzontale testo nell'oggetto UITextField
nell'app iOS 7+.UITextField allineamento orizzontale del testo - testo non centrato
Ho impostato un nuovo progetto per isolare il bug e per assicurarmi che non stia facendo qualcosa di sbagliato.
In viewDidAppear:
metodo che alloc/init una nuova UITextField
esempio così:
UITextField *tf = [[UITextField alloc] initWithFrame:CGRectMake(60.0f, 100.0f, 200.0f, 200.0f)];
tf.backgroundColor = [UIColor orangeColor];
tf.textAlignment = NSTextAlignmentCenter;
[self.view addSubview:tf];
Questo è tutto. Quando ho eseguito questa applicazione di esempio su iPhone Retina (4 pollici a 64-bit) simulatore ottengo seguente risultato:
Dopo aver digitato alcune lettere ottengo questo:
Qualcuno sa cosa sta succedendo? Il testo dovrebbe essere centrato durante la digitazione. Non ho incontrato questo bug fino ad ora. È collegato a iOS o sto facendo qualcosa di sbagliato?
P.s .: Si sta verificando anche su iDevices.
Grazie in anticipo.
EDIT:
Aggiunta:
tf.contentHorizontalAlignment = UIControlContentHorizontalAlignmentCenter;
tf.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;
non aiuta.
EDIT 2:
Come Inder Kumar Rathore suggerito Ho cercato di impostare un altezza a 20.0f in questo modo:
UITextField *tf = [[UITextField alloc] initWithFrame:CGRectMake(60.0f, 100.0f, 200.0f, 20.0f)];
e funziona sorprendentemente. Ma non risolve il problema. Ho scoperto che l'aumento di altezza da 20.0f su rende il problema solo peggiore. Penso che abbia qualcosa a che fare con il rapporto altezza riga/altezza del campo di testo. Non lo so ..
Un comportamento strano, anche se diminuendo l'altezza a 20, funziona perfettamente. –
@InderKumarRathore Grazie per il tuo commento. L'ho provato e io lavoro ma questo non risolve il problema. Ho anche scoperto che aumentare l'altezza da 20 in su rende il problema solo peggiore. Come sarebbe un qualche tipo di problema relativo alle dimensioni. Non ho idea di cosa stia succedendo:/ – damirstuhec
UITextField è destinato all'uso per una singola riga di testo. Perché vuoi aumentare l'altezza del campo di testo. potresti voler utilizzare UITextview –