2010-10-07 11 views
5

Tengo un UITextField y quiero centrar este campo en el centro de la vista. ¿Algunas ideas?Colocando un UITextField en el centro de la vista

usernameField = [[UITextField alloc] initWithFrame:CGRectMake(0, 200, 200, 28)]; 

En lugar de CGRectMake(some numbers) - Quiero colocarlo en el centro de la vista.

Respuesta

8

Se pueden asignar directamente el centro de la vista deseada:

usernameField = [[UITextField alloc] initWithFrame:CGRectMake(0, 200, 200, 28)]; 
usernameField.center = myView.center; 
2
userNameField = [[UITextField alloc] initWithFrame:CGRectMake(0, 0, 200, 28)]; 
userNameField.center = CGPointMake(CGRectGetWidth(someView.bounds)/2.0f, CGRectGetHeight(someView.bounds)/2.0f); 

Donde someView es la supervista de userNameField.

+0

que es un poco complicado, pero funciona. Usar el centro es un código mucho más claro. –

+1

Como dije anteriormente, el centro no funcionará para el caso general. –

1

¿Por qué no utilizar la propiedad del centro de la vista?

userNameField.center = parentViewField.center; 
+0

Esto supone que parentView es pantalla completa. El centro está en el espacio del marco, no limita el espacio. –

+0

No, no es así. Centra la subvista en la vista principal, que es lo que hace la pregunta. –

+2

"El centro se especifica dentro del sistema de coordenadas de su supervista y se mide en puntos". Si tiene 3 vistas de profundidad, intentará centrar la tercera vista en la segunda vista. Tu método lo centrará en el primero. –

Cuestiones relacionadas