Ich habe Schwierigkeiten, Informationen darüber zu verstehen und zu finden, wie NSViewController Schlüssel- und Mausereignisse akzeptieren kann. Ich habe irgendwo gelesen, dass, um diese Ereignisse in NSViewController zu registrieren, es zu einer Antwortkette hinzugefügt werden sollte, aber ich kann die Antwort nicht finden, wie man das richtig macht.
Jede Art von Hilfe wird sehr geschätzt!
Es gibt ein nettes Tutorial, das Sie auf CocoaWithLove.com finden .
Zusammenfassend: Sie erstellen eine Unterklasse von NSView (z. B. "EugeneView") und dann enthält diese Unterklasse einige zusätzliche Methoden wie " setNextResponder
" und " setViewController
". Und mit diesen beiden Methoden sollte Ihr NSViewController in die Responder-Kette integriert werden.
Oder wenn, wie in den meisten Fällen, die Ansicht Ihres Controllers einfach ein generischer Container ist, fügen Sie Ihren Controller in die Responder-Kette zwischen seiner Ansicht und seinen Untersichten ein. Dies kann mit diesen Codezeilen im awakeFromNib:
Obj-C:
%Vor%Schnell:
%Vor%Keine Unterklassen erforderlich.
Das manuelle Patchen von NSViewController
in die Responderkette ist ab OS X 10.10 Yosemite nicht mehr notwendig. Laut WWDC '14 , "sind sie automatisch in der Responder-Kette direkt nach ihrer Ansicht verdrahtet . "
Tags und Links objective-c macos cocoa nsresponder nsviewcontroller