我有三个IBActions,每个都与它自己的按钮链接如下:
#import "Controller.h"
#import "Application.h"
@implementation Controller
- (IBAction)deal:(id)sender {
NSButton *deal = (NSButton *)sender;
...
}
- (IBAction)hit:(id)sender {
NSButton *hit = (NSButton *)sender;
...
}
- (IBAction)stay:(id)sender {
NSButton *stay = (NSButton *)sender;
...
}
@end
如何使用/调用其范围之外的按钮?我想做这样的事情:
- (IBAction)hit:(id)sender {
NSButton *hit = (NSButton *)sender;
...
[hit setEnabled: NO];
[stay setEnabled: NO]; // Using/altering "Stay's" button
}
提前致谢!
答案 0 :(得分:1)
IBAction是一个void的typedef,用于标记您希望Interface Builder(或Xcode 4的界面设计者发现)的方法。它们只是普通的方法,没有任何向外链接。
你可能想要的是一些IBOutlets连接到按钮。例如。要连接到点击按钮,你可以将它添加到你的@interface:
IBOutlet NSButton *hit;
然后在Interface Builder或Xcode中,您应该能够控制 - 将类中的链接拖到按钮并连接插座 - 与您将按钮事件连接到您的班级所做的相反
因为hit是一个实例变量,所以您可以从类中的任何方法访问它。
答案 1 :(得分:1)
您可以在视图控制器中将NSButton属性声明为IBOutlet,然后在Interface Builder中将按钮链接到它。
类似的东西:
@property (nonatomic, assign) IBOutlet NSButton * button;