我怎么知道点击了哪个按钮?目标C.

时间:2009-10-08 01:58:58

标签: iphone cocoa-touch uikit button action

我正在分配中执行Presence1,这需要我构建一个多屏幕应用程序。 我有两个ViewController,vc1和vc2。在vc1中,我有两个按钮。我对它们使用相同的方法,它们的标题是相同的。

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

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

2 个答案:

答案 0 :(得分: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
    }
}

答案 1 :(得分: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) {
    }
}

这就是你要追求的吗?