如何更改以前使用的按钮的功能?例如,如果我有一个执行“继续/取消”的按钮,假设您“继续”,该按钮会更改为“查看/返回”之类的内容吗?基本上我想将同一个按钮重新用于其他用途,但因为我不知道如何有人可以帮助我更好地理解它。谢谢。
- (IBAction)someButton:(NSButton *)sender {
if ([someString isEqualToString:someThing]) {
isAllowed = YES;
[oneButton setTitle:@"Proceed"];
[self continue];
}
else {
[oneButton setTitle:@"Cancel"];
return;
}
}
- (void)continue {
// I would like to make someButton (above) take on different functionality
// here if that's even possible. such as:
[oneButton setTitle:@"View"];
[self whatNow];
最佳答案
在程序生命周期的某个时刻,您可以将 NSButton
的先前目标和/或操作替换为所需的目标和/或操作。
[oneButton setAction:@selector(continue)];
这将导致您的 continue
选择器被调用,而不是 oneButton
实例的 someButton:
。
OBS:只需注意您的选择器,因为 NIB 文件中的选择器具有参数 @selector(someButton:)
而您正在创建的选择器没有任何参数,因此它保持为 @selector(继续)
关于Objective-C,改变 NSButton 功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12342998/