2

我在作业中做 Presence1,这需要我构建一个多屏幕应用程序。我有两个 ViewController,vc1 和 vc2。在 vc1 中,我有两个按钮。我对它们使用相同的方法,并且它们的标题相同。

我的问题是当我更改为 vc2 时,如何知道在 vc1 中单击了哪个按钮?

有一个主题告诉我,当我单击按钮时,我应该获得鼠标的位置 (x,y),但我认为它不太好。

4

2 回答 2

4

上面的答案会起作用。如果您不想为按钮保留插座,您可以在界面生成器中为它们分配标签。例如,您将按钮 1 的标记值分配为 1,将按钮 2 的标记值分配为 2。然后在代码中

-(void)onButtonClick:(id)sender {
    if(sender.tag == 1) {
        //respond to button 1
    } else if(sender.tag == 2) {
        //respond to button 2
    }
}
于 2009-10-08T02:50:52.037 回答
1

如果您有两个NSButton属性,例如:

@interface ViewControllerOne : NSViewController
{
    NSButton *goButton;
    NSButton *stopButton;
}

@property(nonatomic, retain) NSButton *goButton;
@property(nonatomic, retain) NSButton *stopButton;

-(void)onButtonClick:(id)sender;

@end

然后您可以将发送者与按钮指针进行比较:

-(void)onButtonClick:(id)sender
{
    if (sender == goButton) {
    }

    else if (sender == stopButton) {
    }
}

这就是你所追求的吗?

于 2009-10-08T02:02:23.600 回答