Ich mache ein paar Buttons programmgesteuert und versuche, für jeden eine Aktion festzulegen, aber ich kann es nicht funktionieren lassen.
In meinem AppController.h habe ich diesen Code:
%Vor%und
%Vor%und in AppController.m innerhalb der Methode watchFromNib:
%Vor%und
%Vor%aber zoomOut und zoomIn werden nicht getroffen ...
Der wahrscheinlichste Grund ist, dass es kein Objekt in der Antwortkette für Aktionsnachrichten , die auf diese Aktionen reagiert. Wenn Sie eine Aktion angeben, aber kein Ziel angeben, sucht Cocoa nach einem Objekt, das auf diese Aktionsnachrichten reagiert, indem es die Antwortkette durchläuft.
Stellen Sie entweder sicher, dass Sie ein geeignetes Objekt in der Antwortkette haben oder, wenn Sie eine Referenz auf dieses Objekt haben, geben Sie es als Ziel dieser Aktionen an:
%Vor% Ich konnte nicht herausfinden, warum meine setAction
nicht funktionierte, auch nicht mit setTarget
.
Das Problem war, dass ich NSButton
subclassiert und onMouseDown
überschrieben und vergessen habe, super.onMouseDown
Tags und Links objective-c cocoa nsbutton