我有一个自定义的TableView单元格,其中有一个按钮。 表视图有许多行使用相同的自定义单元格。 现在,如果按下其中一个单元格的按钮。我想知道按钮在哪一行单元格?
答案 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);
如果您不想使用标记,可以通过编码创建一种自定义属性。