按下TableView单元格中的按钮时,如何知道按下哪一行单元格的按钮?

时间:2014-10-11 07:39:35

标签: ios uitableview

我有一个自定义的TableView单元格,其中有一个按钮。 表视图有许多行使用相同的自定义单元格。 现在,如果按下其中一个单元格的按钮。我想知道按钮在哪一行单元格?

2 个答案:

答案 0 :(得分:3)

(1)。在此方法cellForRowAtIndexPath:中,指定带有tag的按钮。 例如:

cell.yourbutton.tag = indexPath.row;

(2)。为您添加具有相同选择器的操作

[cell.yourbutton addTarget:self action:@selector(cellButtonClicked:) forControlEvents:UIControlEventTouchUpInside];

(3)。然后

-(void)cellButtonClicked:(UIButton*)sender
{
    NSIndexPath *path = [NSIndexPath indexPathForRow:sender.tag inSection:0];
}

答案 1 :(得分:-2)

您可以定义自定义属性,您可以像下面这样使用它: -

#define kCustomProperty @"CustomProperty" 

将您的对象与该自定义属性关联,如下所示

objc_setAssociatedObject(yourButton,kCustomProperty , yourCellIndexPath, OBJC_ASSOCIATION_RETAIN_NONATOMIC);

使用相同的属性和对象获取您的数据,如下所示

NSIndexPath *yourCellIndexPath = (NSIndexPath *)objc_getAssociatedObject(yourButton, kCustomProperty);

如果您不想使用标记,可以通过编码创建一种自定义属性。