在我的应用程序中,我创建了一个自定义表格视图单元格,里面有一个按钮。我需要在每个按钮点击时执行特定操作。目前我可以向按钮添加操作,这样当我点击时,操作正在调用,但我无法确定哪个按钮负责该操作。如何根据按钮上的用户事件执行不同的操作?我可以通过设置“tag”属性并使用
进行检查以正常方式执行此操作[sender tag]
但在这种情况下不知道。提前谢谢。
答案 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
}