自定义UITableViewCell中每个UIButton的单独操作

时间:2012-02-26 17:56:24

标签: iphone uitableview uibutton

在我的应用程序中,我创建了一个自定义表格视图单元格,里面有一个按钮。我需要在每个按钮点击时执行特定操作。目前我可以向按钮添加操作,这样当我点击时,操作正在调用,但我无法确定哪个按钮负责该操作。如何根据按钮上的用户事件执行不同的操作?我可以通过设置“tag”属性并使用

进行检查以正常方式执行此操作
[sender tag]

但在这种情况下不知道。提前谢谢。

3 个答案:

答案 0 :(得分:0)

示例:

[button1 addTarget: target action: @selector(action1) forControlEvents: UITouchUpInside];
[button2 addTarget: target action: @selector(action2) forControlEvents: UITouchUpInside];
[button3 addTarget: target action: @selector(action3) forControlEvents: UITouchUpInside];

答案 1 :(得分:0)

创建一个for循环并为每个按钮分配一个增量标记(可能基于行号),以及作为目标的视图控件中的单个方法(所有按钮都使用相同的选择器)。

在被调用的方法中,提取标签号并对其执行必要的操作。

答案 2 :(得分:0)

您可能正在向cellForRowAtIndexPath中的单元格添加按钮。

如果你的桌子只有一个部分,那么很容易。只需修改cellForRowAtIndexPath

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

    // .. create cell

    // .. add button

    myButton.tag = indexPath.row;
    [myButton addTarget: target action: @selector(buttonClicked:) forControlEvents: UITouchUpInside];

    return cell;
}

-(void) buttonClicked:(id)sender {

  NSLog (@"user clicked button in row %d", [(UIButton *)sender tag]);

  // ..do your stuff here  
}