我有自定义tableview
。它包含button
。问题是如何知道哪个按钮被点击?从哪indexPath.row
。我尝试在didSelectRowAt中执行此操作但是,我没有选择任何单元格,我只是按button
。我在SWIFT中需要它
答案 0 :(得分:1)
下面的代码将为您提供Button标签,并且还知道点击了哪个按钮。在cellForRowAtIndexPath UITableView DataSource Delegate Method中使用此代码。
cell.btn.tag = indexPath.row
cell.btn.addTarget(self, action: #selector(btnTapped(_:)), for: .touchUpInside)
func btnTapped(_ sender : UIButton) {
print(sender.tag)
}
答案 1 :(得分:0)
UIButton * btn = /* your button */;
UITableViewCell * cellContainingBtn = (UITableViewCell*)[btn superview];
UITableView * tbl = (UITableView *)[cellContainingBtn superview];
NSIndexPath * cellIndexPath = [tbl indexPathForCell:cellContainingBtn];
NSInteger index = [cellIndexPath row];
在这里回答: Get row index of custom cell in UITableview
作为一种简单的替代方法,您可以将单元格的indexPath.row分配给按钮的accessibilityLabel或accessibilityHint等。