Cuando se usa un teclado de hardware con iOS, al presionar la pestaña o la tecla Mayús se navega automáticamente al respondedor lógico siguiente o anterior, respectivamente. ¿Hay alguna manera de hacer lo mismo programáticamente (es decir, simular la tecla de tabulación en lugar de hacer un seguimiento del orden lógico manualmente)?Simular tecla de tabulación Presione en SDK de iOS
Respuesta
No estoy seguro si esto ayuda, pero en el contexto de un UITextFields, si implementa UITextFieldDelegate
, se llamará a - (BOOL)textFieldShouldReturn:(UITextField *)textField
cuando se presiona la tecla de retorno del teclado virtual.
He intentado golpear directamente en el teclado de mi computadora portátil y pareció saltar entre todos los campos de texto en el orden en que los agregó a la vista, pero no fue a ningún otro tipo de campos (Botones, etc.).
tecla en el teclado está simulando la tecla en el teclado suave del simulador, que funciona como se esperaba.
Puede definir el "orden de tabulación" utilizando la propiedad de etiqueta. La siguiente publicación describe cómo encontrar el siguiente índice de etiqueta para UITextField
s, How to navigate through textfields (Next/Done Buttons).
Aquí hay una versión modificada del código de esa publicación. En lugar de eliminar el teclado en el último índice de etiqueta, este código siguiente intentaría regresar al primer índice de etiqueta.
-(BOOL)textFieldShouldReturn:(UITextField*)textField;
{
NSInteger nextTag = textField.tag + 1;
// Try to find next responder
UIResponder* nextResponder = [textField.superview viewWithTag:nextTag];
if (nextResponder) {
// Found next responder, so set it.
[nextResponder becomeFirstResponder];
return NO;
}
// Try to find the first responder instead...
// Assuming the first tag index is 1
UIResponder* firstResponder = [textField.superview viewWithTag:1];
if (firstResponder) {
// loop back to the first responder
[firstResponder becomeFirstResponder];
} else {
// Not found, so remove keyboard.
[textField resignFirstResponder];
}
return NO; // We do not want UITextField to insert line-breaks.
}
Si desea un elemento de interfaz de usuario que no sea UITextField
, aún debe ser capaz de utilizar la misma lógica, con unas cuantas más cheques.
Como William Niu tiene razón, pero también puede usar este código que se explica a continuación.
He utilizado este y consiguió success.Now Consideremos el ejemplo de UITextField ...
Puede utilizar el método delegado de UITextView -(BOOL)textFieldShouldReturn:(UITextField*)textField
como se explica a continuación.
Pero antes de hacer esto, debe dar una etiqueta a cada UITextField en orden de Incremento ... (No es necesario incrementar la orden, pero en cuanto a mi código es necesario, también puede usar decremento pero algún código cambios para hacer esto)
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
NSInteger nextTag = textField.tag + 1;
UIResponder* nextResponder = [self.view viewWithTag:nextTag];
if (nextResponder) {
[nextResponder becomeFirstResponder];
} else {
[textField resignFirstResponder];
}
return YES;
}
espero que esto funcionará para usted ...
feliz de codificación ....
Esto funciona con campos de texto estáticos, y en realidad es un gran enfoque, pero todo se vuelve loco si tus campos de texto están en tableviewscells reutilizables. – n00neimp0rtant
- 1. Simular presionar la tecla de tabulación con jQuery
- 2. Presione una tecla con Java
- 3. cómo hacer que la función de tecla de tabulación intellij como tecla de tabulación Eclipse hace
- 4. tecla de función de manejo presione
- 5. Android simular la pulsación de tecla
- 6. Cómo convertir una tecla Intro Pulse en una pestaña Presione la tecla para páginas web
- 7. WPF datagrid y la tecla de tabulación
- 8. Navegación con la tecla de tabulación WPF
- 9. ¿Bloquear la tecla de tabulación con javascript?
- 10. Emular/Simular iOS en Linux
- 11. Seleccionar WPF ComboBoxItem usando la tecla de tabulación
- 12. Android - Obtener la tecla del teclado presione
- 13. Cómo capturar la tecla Entrar, presione GtkEntry
- 14. Python, presione cualquier tecla para salir
- 15. Cómo simular la pulsación de la tecla
- 16. Capturando la tecla de tabulación usando JavaScript en Firefox
- 17. Tecla de tabulación con campos editables de JD
- 18. Cómo esperar a que se presione una tecla en Clojure
- 19. Seleccione el campo NEXT en la tecla Intro Presione
- 20. Minimice la actividad en la tecla Atrás, presione
- 21. Simular evento de pulsación de tecla TAB en Selenium RC
- 22. ¿Cómo eliminar sangría de tabulación de varias líneas en IDLE?
- 23. Presione la tecla Escape para llamar al método
- 24. Visual Studio 2010 "Presione cualquier tecla para continuar ..." no muestra
- 25. Despliegue de UIScrollView EXC_BAD_ACCESS en iOS SDK
- 26. iOS 4 Build SDK
- 27. Buscar ABAddressbook iOS SDK
- 28. Cómo simular TAB en tecla ENTRAR en javascript o jQuery
- 29. evento de pulsación de tecla de pestaña en JavaScript?
- 30. Eliminación de SDK de iOS de OSX
duplicado de la pregunta: http://stackoverflow.com/questions/3241966/ focus-on-next-valid-key-view-on-iphone que obtuvo una excelente respuesta. –