在我的表单中,我需要将标记传递给按钮操作
[acceptbuttontextedit addTarget:self action:@selector(mytag:) forControlEvents:UIControlEventTouchUpInside];
此处mytag
是我要为按钮操作发送的标记
- (IBAction)mytag:(id)sender
{
}
我需要在行动中获得该标记。
我是objective-c的新手,所以如果有人能在这个问题上帮助我,那将是一个很大的帮助。
答案 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
}