我正在创建一些按钮并将它们放在UIScrollView中,如下所示:
int i = 0;
while (i != numberOfButtons ) {
int updatetY = 160*i;
CGRect buttonFrame = CGRectMake(updatetY, 0, 160, 60);
UIButton *button = [[UIButton alloc] initWithFrame:buttonFrame];
UIImage *buttonImage = [UIImage imageNamed:@"bg.png"];
[button setBackgroundImage:buttonImage forState:UIControlStateNormal];
[button setTitle:[buttonsArray objectAtIndex:i] forState:UIControlStateNormal];
[button addTarget:self action:@selector(MYPROBLEM) forControlEvents:UIControlEventTouchUpInside];
[menuScrollView addSubview:button];
i++;
}
现在我需要构建一个方法来捕获正在触摸的按钮,并运行一组特定的代码(参见(MYPROBLEM)。
有人知道我能做些什么来“追踪”触摸哪个按钮然后运行特定的功能?
类似的东西:
- (void)buttonfunction
{
case ...
doThis
case...
doThat
}
提前感谢。
答案 0 :(得分:1)
您需要使用uibutton控件的tag属性。它是按钮的数字ID。您可以根据循环中的i变量在按钮上设置标记,例如:
button.tag=i;
然后在按钮的操作消息中,您只需添加按钮的ID作为参数并检查其标记,如下所示:
-(void) buttonFunction:(id)sender {
switch (sender.tag)
{
//code goes here
}
}
希望这有帮助。