Any idea how to set button selector at runtime (on click event) for mac (Not IOS)
I have a view controller with a button declared as outlet :
#import <Cocoa/Cocoa.h>
@interface MyView : NSView
@property (assign) IBOutlet NSButton *MyBtn;
i can access that buton with something like this :
MyView * v;
.
.
.
[v MyBtn]
i didn't find "addTarget" choice like on cocoa touch. The only choice is "setTarget(id)"
I'm using Xcode 4.4.1 for osx mountain lion
any suggestion would be appreciated. thanks
rano
You shall look at the NSControl class reference (from which NSButton inherits) for two separate methods setTarget:
and setAction:
.
You can do something like this in your code:
[MyBtn setTarget:self];
[MyBtn setAction:@selector(doStuff)];
take a look also at this answer.
those two methods are what you are looking for.
- (void)setTarget:(id)target;
- (void)setSelector:(SEL)selector;
================
[myButton setSelector:@selector(myButtonClickEvent:)];
-(void) myButtonClickEvent:(id) sender{
NSLog(@"button:%@ be clicked. :)", sender);
}
来源:https://stackoverflow.com/questions/12234485/set-button-selector-on-click-event-at-runtime-cocoa-mac-project