iphone-识别按钮的容器

时间:2011-04-08 14:06:15

标签: iphone class uiview containers

我有一个这样的课程,

@interface event
{
NSString *name;
UIButton *button;
}

在我的视图控制器中,我有几个事件类对象,我将这些事件对象的所有按钮添加到视图控制器类(self.view)

-(void) buttonPressed:(id) sender

现在我正在处理上面给出的视图控制器中的touchevent,现在我如何识别按下的按钮(发送者)所属的事件对象。

2 个答案:

答案 0 :(得分:0)

您应该为对象添加标记,例如:

myObject.tag = 1;

然后,在你的buttonPressed方法中执行类似

的操作
if(sender.tag == 1){
    //...doSomething
}

答案 1 :(得分:0)

您可以简单地将事件对象的button属性与action方法的sender参数进行比较。假设您的事件对象只是视图控制器的成员变量,您的buttonPressed代码可能如下所示:

- (void)buttonPressed:(id)sender {
    if (sender == event1.button) {
       NSLog(@"Button pressed for event1");
    }
    else if (sender == event2.button) {
       NSLog(@"Button pressed for event2");
    }
}

显然,您必须将按钮声明为Event对象的@property。