如何更改我之前使用的按钮的功能?例如,如果我有一个按钮进行“继续/取消”并让我们说“继续”,按钮会变为“查看/返回”等内容?基本上我想重复使用相同的按钮,但我不知道有人可以帮助我更好地理解它。谢谢。
- (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];
答案 0 :(得分:3)
在程序生命周期的某个时刻,您可以将NSButton
之前的目标和/或操作替换为所需的目标和/或操作。
[oneButton setAction:@selector(continue)];
这将导致continue
选择器被调用,而不是someButton:
实例的oneButton
。
OBS:只需注意你的选择器,因为NIB文件中的一个参数为@selector(someButton:)
而你正在创建的那个没有任何参数,所以它保持为@selector(continue)