Hola Tengo dos UITextFields en mi aplicación, y quiero descartar el teclado cuando solo toco en cualquier lugar excepto el UITextFields ¿cómo puedo hacer esto?¿cómo puedo descartar el teclado cuando tocaré en cualquier lugar excepto UITextField?
Respuesta
método tochesBegin uso para este propósito
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
[yourFirstTextField resignFirstResponder];
[yourSecondTextField resignFirstResponder];
}
que no es necesario ninguna cosa else.When se toca en cualquier lugar de la vista entonces ambos textField renunciar sin necesidad de saber cuál tener focus.and cuando se toca textField luego, textField abre el teclado por su cuenta.
Mantener una referencia a la UITextField en su controlador de vista y llamar [yourTextField resignFirstResponder]
lo que hace que significaría referencia, ¿cómo puedo código Por favor, explique un poco más –
Quiero decir que solo tengo un IBOutlet para el UITextField, luego cuando hay un toque en cualquier otro lugar, llame a [yourTextField resignFirstResponder] –
Es necesario crear un botón personalizado en el fondo y luego conectarlo al método IBAction
que llama resignFirstResponder
en la que su UITextField
algo como esto
Editar:
como WA nt para agregar el botón mediante programación que puede utilizar este código
- (void)viewDidLoad
{
UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];
button.buttonType = UIButtonTypeCustom;
[button addTarget:self action:(buttonPressed) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:button];
[button release];
y luego agregue el código del controlador después de esto.
my all La codificación es manual, no basada en Interface Builder, entonces ¿cómo puedo llamar? un método simple, ¿puedes decirme? –
agregue un gesto de tap en su lugar –
Cree un botón invisible, colóquelo detrás del UITextField
y envíe el mensaje resignFirstResponder
a los campos de texto cuando se toca el botón.
Y haga que el botón transparente cubra toda la vista, de modo que cualquier toque que no sea el campo de texto en la parte superior activará el botón. – hotpaw2
Uso delegado,
- (BOOL)textFieldShouldEndEditing:(UITextField *)textField {
[textField resignFirstResponder];
return YES;
}
También puede crear un método en el controlador
y luego en conexión Inspector en IB conectar Evento "puso fin al salir" a la misma.
Estoy creando un método como este, pero ahora cómo llamarlo cuando se hace clic en cualquier lugar excepto mis textFields - (void) backgroundTap { \t [self.restaurant_name_textfield resignFirstResponder]; \t [self.amount_textfield resignFirstResponder]; } –
my all La codificación es manual, no está basada en el Interface Builder, así que ¿cómo puedo llamar un método simplemente, puede decirme? –
Si no está utilizando constructor de interfaz, se puede enlazar manualmente eventos como se explica aquí: How can I programmatically link an UIView or UIImageView with an event like "touch up inside"?
Si está utilizando constructor de interfaz, entonces no es necesario para crear un botón de fondo.
Usted puede hacer esto:
- Seleccione su punto de vista (probablemente llamada Vista)
- Cambio a la (i) la ficha del inspector de propiedades
- cambiar la clase de UIView a uicontrol (esto da tiene acceso al evento Touch Down).
- Enganche el evento Touch Down a su método BackgroundToca (Ctrl + arrastre).
- No se olvide de guardar los cambios
You need to define the action for your button click this way
[infoButton addTarget:self action:@selector(backButtonClicked) forControlEvents:UIControlEventTouchUpInside];
And implement the click method ,as for example i have provided the animation on button click method.
-(void)backButtonClicked
{
[UIView beginAnimations:@"animation" context:nil];
[UIView setAnimationDuration:1.5];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:self.navigationController.view cache:NO];
[self.navigationController popViewControllerAnimated:YES];
[UIView commitAnimations];
}
Hope this will help you ,the action is without using IB.Its all done through coding
Usa esto.
- (void) animateTextField: (UITextField*) textField up: (BOOL) up
{
const int movementDistance = 180; distace of keyboard up.
const float movementDuration = 0.3f;
int movement = (up ? -movementDistance : movementDistance);
[UIView beginAnimations: @"anim" context: nil];
[UIView setAnimationBeginsFromCurrentState: YES];
[UIView setAnimationDuration: movementDuration];
self.view.frame = CGRectOffset(self.view.frame, 0, movement);
[UIView commitAnimations];
}
Normalmente, en este caso, tendrá una vista de desplazamiento con el resto de la interfaz de usuario. Si asigna el delegado de ese punto de vista de desplazamiento para el controlador de vista, y decir que implemente el protocolo UIScrollViewDelegate
, a continuación, sólo añadir el siguiente método hará el trabajo:
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView
{
[self.view endEditing:YES];
}
- 1. Descartar el teclado en el iPad
- 2. ¿Cómo puedo descartar el teclado si un usuario toca el teclado en pantalla?
- 3. iOS ¿Cómo descartar UIAlertView con un toque en cualquier lugar?
- 4. Fuga de memoria en el teclado descartar
- 5. ¿Cómo descartar el teclado en un UIWebView?
- 6. ¿Cómo descartar el teclado en Android SearchView?
- 7. ¿Cómo abrir el teclado automáticamente en UITextField?
- 8. El teclado UITextField no aparece
- 9. Windows 8 - Cómo descartar el teclado táctil?
- 10. UITableViewController y el teclado UITextField
- 11. iPhone: ¿Se puede descartar el teclado con el botón de liberación de UITextField?
- 12. $ ('html'). Clic() ... en cualquier lugar excepto un elemento
- 13. Cómo descartar el teclado cuando se presiona el botón 'Buscar' de UISearch Bar?
- 14. cómo ocultar div con jquery al hacer clic en cualquier lugar excepto en un div?
- 15. iPhone datepicker en lugar de teclado?
- 16. cómo mostrar pickerview en uitextfield no el teclado?
- 17. Mover UIScrollView cuando el teclado entra en su lugar
- 18. Cualquier evento de Android cuando se desliza el teclado
- 19. ¿Cómo ocultar el teclado cuando presiono la tecla de retorno en un UITextField?
- 20. ¿Cómo puedo descartar UIAlertView?
- 21. Regexp: Cualquier carácter excepto secuencia
- 22. ¿Cómo descarto el teclado de iOS?
- 23. ¿Por qué mi ProgressDialog escucha en CUALQUIER TECLA (tacto) en lugar de botón retroceder para descartar?
- 24. No descartar UIPopoverController cuando toque
- 25. UITextField no recibe entrada de teclado
- 26. ¿Cómo ejecutar el compositor desde cualquier lugar?
- 27. Ocultando el teclado cuando se presiona el botón borrar en UITextField
- 28. ¿Cómo puedo limitar el número de decimales en un UITextField?
- 29. Cambiar el color del tinte del teclado para UITextField
- 30. El botón claro de UITextfield oculta el teclado cuando está dentro de UIScrollView
Ji, está funcionando perfectamente, he aceptado su respuesta, Gracias :-) –
@veer de bienvenida. – Ishu
También agregué "[super touchesBegan: touques withEvent: event];" por si acaso. –