0

如何更改以前使用的按钮的功能?例如,如果我有一个“继续/取消”按钮,假设您“继续”,那么按钮会变成“查看/返回”之类的东西吗?基本上我想将相同的按钮重新用于其他事情,但是因为我不知道有人可以如何帮助我更好地理解它。谢谢你。

- (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];
4

1 回答 1

3

在您的程序生命周期的某个时刻,您可以将 a 的先前目标和/或操作替换为NSButton所需的目标和/或操作。

[oneButton setAction:@selector(continue)];

这将导致continue调用您的选择器而不是someButton:实例oneButton

OBS:只需注意您的选择器,因为 NIB 文件中的选择器有一个参数@selector(someButton:),而您正在创建的选择器没有任何参数,因此它保持为@selector(continue)

如此处所示:Cocoa forControlEvents:WHATGOESHERE

于 2012-09-09T21:16:32.647 回答