Wie fügt man NSViewController zu einer Responderkette hinzu?

8

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!

    
Eugene Gordin 19.11.2013, 00:50
quelle

3 Antworten

6

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.

    
Michael Dautermann 19.11.2013, 01:05
quelle
5

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:

Ihres Controllers geschehen

Obj-C:

%Vor%

Schnell:

%Vor%

Keine Unterklassen erforderlich.

    
Guy Moreillon 12.03.2014 06:54
quelle
4

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 . "

    
Manfred Urban 22.02.2016 16:08
quelle