Cómo finalizar la edición en NSTextFieldCell dentro de NSOutlineView después de presionar la tecla ESC

StackOverflow https://stackoverflow.com/questions/5840988

Pregunta

Estoy tratando de conseguir una costumbre NSTextFieldCell (dentro de una NSOutlineView) para finalizar la edición cuando se presiona la tecla ESC pero no encuentra ninguna manera de lograrlo.Intenté agregar un observador para el NSControlTextDidChangeNotification-notificación pero no se activa para la tecla ESC ni tampoco keyDown disparado en el NSOutlineView.

¿Fue útil?

Solución

disparadores ESC -cancelOperation en NSResponder.Puedes intentar manejar esto en algún lugar de tu cadena de respuesta.

Otros consejos

La respuesta aceptada es correcta.Elaborar:para detectar eventos clave ESC, puede anular el método cancelOperation en NSViewController (o cualquier otro derivado de NSResponder que esté usando).Así es como se ve mi código en Swift 4.x.

class PopUIcontroller: NSViewController, NSTextFieldDelegate {

      override func cancelOperation(_ sender: Any?) {
        print("trying to cancel! Here I will do stuff to handle ESC key press!")

      }

}

más lectura: NSWindowController no puede capturar ESC sin agregar WebView a la ventana

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top