Tôi đang thực hiện một vài nút lập trình và cố gắng đặt hành động cho từng nút nhưng tôi dường như không làm cho nó hoạt động.Mục tiêu-c: NSButton setHành động không hoạt động
Trong AppController.h của tôi, tôi có mã này:
...
IBOutlet NSButton* btnZoomIn;
IBOutlet NSButton* btnZoomOut;
...
và
- (IBAction) zoomIn : (id) sender;
- (IBAction) zoomOut : (id) sender;
và trong AppController.m trong phương pháp awakeFromNib:
/*zoom in and out buttons*/
//get the path to the image files
NSString* zoomInImgPath = [[NSBundle mainBundle] pathForResource:@"zoomIn" ofType:@"png"];
NSString* zoomOutImgPath = [[NSBundle mainBundle] pathForResource:@"zoomOut" ofType:@"png"];
//declare the NSImages
zoomInImg = [[NSImage alloc] initWithContentsOfFile:zoomInImgPath];
zoomOutImg = [[NSImage alloc] initWithContentsOfFile: zoomOutImgPath];
//button making!
//zoomIn
btnZoomIn = [[NSButton alloc] initWithFrame:NSMakeRect(1426.0, 920.0, 25.0, 25.0)];
[btnZoomIn setButtonType:NSMomentaryPushInButton];
[btnZoomIn setTitle:@""];
[btnZoomIn setToolTip:@"Zoom In"];
[btnZoomIn setImage:zoomInImg];
[btnZoomIn setAction:@selector(zoomIn:)];
[[mainWin contentView] addSubview:btnZoomIn];
//zoomOut
btnZoomOut = [[NSButton alloc] initWithFrame:NSMakeRect(1456.0, 920.0, 25.0, 25.0)];
[btnZoomOut setButtonType:NSMomentaryPushInButton];
[btnZoomOut setTitle:@""];
[btnZoomOut setToolTip:@"Zoom Out"];
[btnZoomOut setImage:zoomOutImg];
[btnZoomOut setAction:@selector(zoomOut:)];
[[mainWin contentView] addSubview:btnZoomOut];
và
- (IBAction) zoomIn : (id) sender {
NSLog(@"zoom in!");
}
- (IBAction) zoomOut : (id) sender {
NSLog(@"zoom out!");
}
nhưng zoomOut và zoomIn không bị ảnh hưởng ...
Hãy thử thiết lập 'target' là tốt. – PengOne
Nếu bạn không sử dụng ARC hoặc GC, đừng quên phát hành hoặc tự động phát hành hình ảnh và các nút. –