如何在按钮动作上传递标签

时间:2014-01-24 05:53:36

标签: ios objective-c

在我的表单中,我需要将标记传递给按钮操作

[acceptbuttontextedit addTarget:self action:@selector(mytag:) forControlEvents:UIControlEventTouchUpInside];

此处mytag是我要为按钮操作发送的标记

- (IBAction)mytag:(id)sender
{

}

我需要在行动中获得该标记。

我是objective-c的新手,所以如果有人能在这个问题上帮助我,那将是一个很大的帮助。

4 个答案:

答案 0 :(得分:4)

在添加目标之前设置按钮标记。像

acceptbuttontextedit.tag=1;
[acceptbuttontextedit addTarget:self action:@selector(mytag:) forControlEvents:UIControlEventTouchUpInside];

然后通过发件人访问标记:

- (IBAction)mytag:(UIButton *)sender
{
   NSInteger buttonTag = sender.tag;
}

在哪里,acceptbuttontextedit是您的UIButton

答案 1 :(得分:1)

尝试这种方式:

[acceptbuttontextedit addTarget:self action:@selector(mytag:) forControlEvents:UIControlEventTouchUpInside];
acceptbuttontextedit.tag=1;//set tag whatever

- (IBAction)mytag:(UIButton *)sender
{
   int buttonIndex=sender.tag;
    if (buttonIndex==1) {
    //do your stuff here
   }
}

愿它有所帮助。

答案 2 :(得分:1)

首先确保您必须添加按钮标记,例如acceptbuttontextedit.tag = 101;然后将您的操作方法更改为

- (IBAction)mytag:(UIButton *)sender

你可以通过

获得它
- (IBAction)mytag:(UIButton *)sender
{
   NSLog(@"%d", sender.tag);
}

答案 3 :(得分:0)

这很简单。将标签设置为您的按钮。

acceptbuttontextedit.tag = 1;
[acceptbuttontextedit addTarget:self action:@selector(mytag:) forControlEvents:UIControlEventTouchUpInside];

现在只需通过发件人访问标记:

- (IBAction)mytag: (id) responder
{
   int buttonTag  = (UIButton *) responder.tag;
   // Do the specific things with your tag now
}