取得UITableViewCell被點擊的UIButton所在cell index

網路上較常見的方法
1. 照順序用index替每個UIButton加tag,要用的時候就可以直接取tag
2. 透過UIButton上層(superview)是UITableViewCell的原理,取得該cell index
做法可參考 Get button click inside UI table view cell

後來找到一個較好的做法,如下
-(IBAction)actionBtn:(id)sender {
    CGPoint buttonPosition = [sender  convertPoint:CGPointZero  toView:self.myTable];
    NSIndexPath *indexPath = [self.myTable  indexPathForRowAtPoint:buttonPosition];
 
    ...
}
直接透過UIButton被click的位置,搭配 - (NSIndexPath *)indexPathForRowAtPoint:(CGPoint)point方法取得cell index

沒有留言: