2011-09-23 10 views
38

¿Cómo establece programáticamente el foco en algún campo de texto en iPhone como resultado de presionar en el campo de texto?Cómo establecer el foco en un campo de texto en iphone?

+4

para uso de foco [textfield becomeFirstResponder] – Narayana

+0

Según su requisito ... si desea agregar un evento de clic !! puede configurar Single TapGesture, que es una alternativa para el evento click. [YourtextField addGestureRecognizer: tapGesture]; no olvides declarar el gesto de tap antes de agregar !! –

+4

No es difícil decir lo que se está preguntando aquí, y es una pregunta completamente legítima. Cerrar preguntas como esta no ayuda a la comunidad. – devios1

Respuesta

20

Agregue Delegar al TextField. Puede seguir el proceso detallado en este artículo: http://www.roseindia.net/tutorial/iphone/examples/iphone-AddTwoTextField.html

Para cambiar el enfoque sobre la marcha:

[yourTextField becomeFirstResponder]; 
+0

este sitio solo recibe entradas y se coloca para ingresar al otro campo de texto. Le pregunté cómo establecer el foco (como setOnFocus en android) en el campo de texto y hw para crear un evento de clic para el campo de texto en iphone. –

+1

Agregar el evento TouchUpInside para TextField –

+0

no funciona. – AsimRazaKhan

60

solo hago los firstresponder textField, esto también emergerá el teclado:

[self.textField becomeFirstResponder]; 

Y solo un código de ejemplo más típico que puede ayudar a alguien,

en su guión gráfico, haga clic en uno de los campos de texto y configure las tomas-delegado como la clase en cuestión. En esa clase, en el archivo .h asegurarse de que usted declara que es un UITextFieldDelegate

@interface Login : UIViewController <UITextFieldDelegate> 

A continuación, en el archivo .m, usted podría tener este por ejemplo ...

-(BOOL)textFieldShouldReturn:(UITextField *)textField 
{ 
if (textField == self.loginEmail) { [self.loginPassword becomeFirstResponder]; } 
if (textField == self.loginPassword) { [self yourLoginRoutine]; return YES; } 
return YES; 
} 

Cuando un usuario hace clic en el botón "Siguiente" en el teclado virtual - en el campo "correo electrónico" - lo moverá correctamente al campo de contraseña. Cuando un usuario hace clic en el botón "Siguiente" en el teclado virtual, en el campo "contraseña", llamará correctamente a suLoginRoutine.

(En el guión gráfico, en el inspector de atributos, observe que puede seleccionar el texto que desea en la tecla Volver ... aquí "Siguiente" funcionaría bien en el campo de correo electrónico y "Hecho" funcionaría bien en campo de contraseña.)

Espero que ayude!

Cuestiones relacionadas