He hecho un NSView personalizado y he implementado el método keyDown:
. Sin embargo, cuando presiono las teclas nunca se llama al método. ¿Debo registrarme para recibir esos eventos? fyi, estoy haciendo una aplicación basada en documentos y puedo manejar este código en cualquier lugar (no tiene que estar en esta vista). ¿Cuál es el mejor lugar para hacer esto en una aplicación basada en documentos, de modo que el evento ocurra en toda la aplicación?Cacao: evento clave en NSView no encendido
14
A
Respuesta
27
Debe sobrescribir -acceptsFirstResponder
para devolver YES
.
7
En Swift:
class MDView: NSView {
override var acceptsFirstResponder: Bool { return true }
}
Cuestiones relacionadas
- 1. cacao NSView subvista arrastre bloqueo/drop
- 2. Animar setHidden: en NSView mediante enlaces de cacao
- 3. Cacao: Origen de NSView x en la parte inferior
- 4. Cómo bloquear eventos NSView en otro NSView?
- 5. Evento de clic de encendido del código en gwt
- 6. mostrando una imagen en cacao
- 7. NSView ratón seguimiento
- 8. Custom NSView en NSMenuItem que no recibe eventos de mouse
- 9. Capturar evento clave para retroceso
- 10. Detectar combinación de evento clave
- 11. Inhabilitar clics en un NSView
- 12. cacao página PDF división
- 13. Habilitar/deshabilitar RequiredValidator en cliente/CustomValidator no encendido
- 14. Orificios en NSView o NSWindow
- 15. No se puede obtener AVPlayerLayer para mostrar video en NSView
- 16. NSView de NSMenuItem no resaltado en el submenú
- 17. NSView: Arrastrando la vista
- 18. Guardar archivos en cacao
- 19. NSView Color de borde
- 20. WPF stop ListView ScrollBar encendido haz clic en
- 21. Superposición NSView sobre NSScrollView
- 22. Windows "siempre encendido" con Java
- 23. ¿Determina si LTE está encendido?
- 24. reactive-banana: evento de encendido que contiene el valor más actualizado de un comportamiento
- 25. Hacer NSView en primera respuesta de NSPanel sin estado de ventana clave
- 26. cacao setAnimationDidStopSelector
- 27. Capas WebView de cacao - ¿Dibujando en la parte superior?
- 28. arrastrando un rectángulo en el cacao
- 29. ¿Cómo disparar el evento clave de tabulación?
- 30. Copie NSView en cocoa/objective-c
que tienen el mismo problema que el autor de la pregunta (a medida NSView en una aplicación basada en documentos), y acceptsFirstResponder simplemente overrided pero keyDown todavía no se activa. Si tienes algún otro consejo sobre lo que podría ser, ¡estaría eternamente agradecido! – chm
¿Tiene motivos para creer que su vista es la primera respuesta de la ventana? Puede establecer el 'initialFirstResponder' en el código antes de ordenar la ventana en pantalla o conectarla en IB. En otras ocasiones, puede usar '-makeFirstResponder:'. Además, asegúrese de que su ventana se pueda convertir en la clave. –