如何知道在UITableView的TableView单元button点击索引path/行?

我创build了一个具有自定义UITableViewCell的TableView。 一个button与tableview的每一行相关联。 现在我想知道点击一个button的行号,以便我知道哪个行button被点击。 我已经尝试了一些堆栈上发现的东西,但没有任何工作。

我已经试过这个代码 – :

-(void)button1Tapped:(id)sender { UIButton *senderButton = (UIButton *)sender; UITableViewCell *buttonCell = (UITableViewCell *)[senderButton superview]; UITableView* table = (UITableView *)[buttonCell superview]; NSIndexPath* pathOfTheCell = [table indexPathForCell:buttonCell]; NSInteger rowOfTheCell = [pathOfTheCell row]; NSLog(@"rowofthecell %d", rowOfTheCell); } 

但是这也不起作用。

谢谢你的协助。

试试这个

  - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *CellIdentifier = @"Cell"; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; if (cell == nil) { cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease]; [[cell contentView] setBackgroundColor:[UIColor clearColor]]; [[cell backgroundView] setBackgroundColor:[UIColor clearColor]]; [cell.Mybutton addTarget:self action:@selector(btnCommentClick:) forControlEvents:UIControlEventTouchUpInside]; } cell.Mybutton.tag=indexPath.row; } -(void)btnCommentClick:(id)sender { UIButton *senderButton = (UIButton *)sender; NSLog(@"current Row=%d",senderButton.tag); NSIndexPath *path = [NSIndexPath indexPathForRow:senderButton.tag inSection:0]; } 

知道哪一行tableView被点击的最好方法是在使用自定义单元的同时在cellForRowAtIndexPath方法中设置单元格button的标签值。