其实很简单
在button上德target 中写下如下代码就知道,所选的哪一行,
原理很简单:
我们可以利用 event 参数,在 btnClicked 方法中判断出事件发生在UITableView的哪一个 cell 上。因为 UITableView 有一个很关键的方法 indexPathForRowAtPoint,可以根据触摸发生的位置,返回触摸发生在哪一个 cell 的indexPath。 而且通过 event 对象,我们也可以获得每个触摸在视图中的位置:
eg:
[button addTarget:self action:@selector(btnClicked:event:) forControlEvents:UIControlEventTouchUpInside];
- (void)btnClicked:(id)senderevent:(id)event
{
NSSet *touches =[event allTouches];
UITouch *touch =[touches anyObject];
CGPointcurrentTouchPosition = [touch locationInView:self.tableView];
NSIndexPath *indexPath= [self.tableViewindexPathForRowAtPoint:currentTouchPosition];//得到当前的index。
}