0

我目前正在我的视图中动态创建 UIButton 对象。

我有一个 NSMutableArray 包含有关它们的信息(id - 标签)。

然后,我通过对 MutableArray 进行 for 迭代来创建视图对象。

我正在尝试在我的按钮上使用此代码来捕获触摸事件:

[myButton addTarget:self action:@selector(selectedButton:) forControlEvents:UIControlEventTouchUpInside];

我的 selectedButton 方法被成功调用,但我不知道按钮被触摸了。

我试图这样做:

-(void)selectedButton:(id)sender {...}

但不知道如何处理发送者对象。

在此先感谢您的帮助 !

4

3 回答 3

3

在 .m 文件的顶部,放置如下内容:

enum {
    kButtonOne,
    kButtonTwo  
};

创建按钮时,请执行此操作

myButton.tag = kButtonOne;

然后在您选择的按钮方法中,执行以下操作:

-(void)selectedButton:(id)sender {
  switch (sender.tag) {
    case kButtonOne:
      // do something here
      break;
    case kButtonTwo:
      // do something else here
      break;
  }
}
于 2010-06-22T14:57:44.087 回答
1

设置mybutton.tag为某物,然后在selectedButton:sender.

于 2010-06-22T14:53:50.447 回答
0
-(void)viewDidLoad{

UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];

button.frame = CGRectMake(80.0, 210.0, 40.0, 30.0);

button.tag=1;

[button addTarget:self 
           action:@selector(aMethod:)
 forControlEvents:UIControlEventTouchDown];

[button setTitle:@"raaz" forState:UIControlStateNormal];

[self.view addSubview:button];

}

-(IBAction)aMethod:(id)sender{

UIButton *btn=(UIButton *)sender;

NSLog(@"I have currently Pressed button=%d",btn.tag);


}
于 2010-06-22T15:05:47.283 回答