La altura predeterminada de UITextField
con estilo de borde UITextBorderStyleRoundedRect
es 31px. Para una aplicación para iPad, me gustaría hacer un UITextField con una altura de 60px y colocar el texto verticalmente centrado para que se vea bien (de manera predeterminada, el texto se dibuja solo unos pocos píxeles debajo del borde superior del UITextField).UITextField: Aumenta el tamaño y coloca el texto de entrada centrado verticalmente
Si hago lo siguiente ...
UITextField *txtLogin = [[UITextField alloc] initWithFrame:CGRectMake(200,200,300,60)];
txtLogin.borderStyle = UITextBorderStyleRoundedRect;
... el resultado se parece a esto: http://grab.by/6jRc
Como se puede ver, el texto de entrada no está centrada verticalmente. Traté de encontrar una solución y descubrí que solo tenía que heredar mi propia clase personalizada de UITextField y anular el método - (CGRect)textRectForBounds:(CGRect)bounds
. Sin embargo, este método nunca se llama y de acuerdo con this link hay un error en la API de Apple. Por lo tanto, estoy buscando alternativas que funcionen.
¿Cuál sería una buena solución para resolver este problema y lograr una alineación vertical correcta para el texto de entrada?
gracias, esto funcionó para mí. – kiteloop