Me sorprende que no pueda encontrar la respuesta a esta simple tarea. Solo quiero que el usuario escriba el texto, presione enter, y haga que la aplicación sepa lo que escribió. ¿Cómo haría esto?¿Llamar a una función cuando un usuario presiona intro en un NSSearchField?
Respuesta
NSSearchField
es compatible con el mecanismo de acción objetivo, por lo que simplemente engancharlo a un objetivo/acción. Por ejemplo, supongamos que ha declarado lo siguiente acción en su aplicación delegue:
- (IBAction)searchAnswer:(id)sender;
En Interface Builder, pulse Ctrl y arrastre el campo de búsqueda para el objeto delegado de la aplicación y elegir la acción searchAnswer:
. En su implementación, use -stringValue
para obtener el texto escrito por el usuario en el campo de búsqueda, p.
- (IBAction)searchAnswer:(id)sender {
NSLog(@"search answer: %@", [searchField stringValue]);
}
Tenga en cuenta que, de forma predeterminada, el campo de búsqueda envía la acción cuando el usuario hace una pausa/deja de escribir también. Si desea que envíe la acción solo cuando el usuario escribe Ingrese, elija la casilla Sends Whole Search String
en la ventana del inspector de atributos del campo de búsqueda.
- 1. Cómo detectar cuando el usuario presiona Intro en un campo de entrada
- 2. Obtener texto cuando se presiona intro en un cuadro de texto en wxPython
- 3. VBA Cómo forzar a una función a regresar cuando se presiona un botón de formulario
- 4. ¿Cómo llamar a un método cuando se presiona el botón Atrás en un UINavigationController? (iPhone)
- 5. Llamar a una función solo una vez
- 6. Llamar a un botón específico en el evento Click cuando se presiona la tecla enter C#
- 7. Llamar a una función en un archivo separado en Python
- 8. ¿Cómo llamar a una función cuando hago clic en un jPanel (Java)?
- 9. ¿Cómo puedo saber cuándo se presiona la tecla Intro en un cuadro de texto?
- 10. Llamar a una función de miembro en un objeto no
- 11. Cómo llamar a una función escalar en un procedimiento almacenado
- 12. Detectando cuando el usuario presiona entrar en Java
- 13. Llamar a una función python dentro de un archivo html
- 14. Reproducir un sonido cuando se presiona una tecla
- 15. Cambiar la imagen en UIButton cuando el usuario presiona ese botón en un iPhone
- 16. ¿Puedo cancelar la devolución de datos cuando el usuario presiona regresar en un cuadro de texto?
- 17. ¿Qué sucede cuando un usuario presiona parar en su navegador web?
- 18. Cómo llamar a la función cuando el usuario permite o niega el acceso a "Ubicación física"?
- 19. ¿Función para llamar a una función repetidamente?
- 20. Llamar a un objeto dentro de una función
- 21. CUDA: Llamar a una función __device__ desde un kernel
- 22. Cancelar AsyncTask cuando el usuario presiona el botón
- 23. Llamar a una función que devuelve un refcursor
- 24. isShiftDown cuando JButton presiona?
- 25. Llamar de forma segura a una función en función de la entrada del usuario
- 26. ¿Llamar a una función dentro de un método de clase?
- 27. ¿Se puede llamar a una función estática a través de un puntero de función en C?
- 28. jQuery - Llamar a una función en línea
- 29. Llamar a un método en un modelo desde una plantilla
- 30. Llamar a una función virtual estáticamente a través de un puntero a la función
Gracias! Algunas cosas son demasiado simples de comprender, supongo ... – Flafla2
@ Flafla2: El objetivo/acción está en un nivel más alto que los eventos de la tecla o del mouse. Un campo puede enviar su acción incluso si el usuario no tiene tecla Enter, o no tiene teclado. Un botón puede enviar su acción incluso si el usuario no tiene mouse. Al usar el objetivo/acción, puede recibir la acción independientemente de los dispositivos de interfaz que el usuario tenga o no tenga. –