2014-10-03 50 views
0

我的UITableView中的每個單元格都包含一個自定義UIButton。我似乎無法檢測當前按下的按鈕位於哪個單元格中。方法被調用,但indexPath.row總是0.任何建議?UITableViewCell中的自定義UIButtons(需要確定行)

-(IBAction)editButtonTouch:(id)sender { 
    UITableViewCell *cell = (UITableViewCell *)[sender superview]; 
    NSIndexPath *indexPath = [[self tableView] indexPathForCell:cell]; 
    switch([indexPath row]) { 
     case 0: 
      NSLog(@"first row"); 
      break; 
     case 1: 
      NSLog(@"second row"); 
      break; 
    } 
} 
+0

究竟你想幹什麼? – 2014-10-03 17:21:22

+0

使editButtonTouch檢測用戶當前觸摸哪一行 – 2014-10-04 12:58:43

回答

1

此:

UITableViewCell *cell = (UITableViewCell *)[sender superview]; 

需要實際

UITableViewCell *cell = (UITableViewCell *)[[[sender superview] superview] superview]; 

但這裏說明這樣做的更好的方法:Detecting which UIButton was pressed in a UITableView

+0

(UITableViewCell *)[[[sender superview] superview] superview];沒有工作(indexPath仍然是0)。將檢查鏈接的線程。 – 2014-10-03 16:48:17

+0

好的,所以我修改了這個答案,通過刪除一個超級通話呼叫(只剩下兩個),它的工作!謝謝@marosoaie :) – 2014-10-04 13:09:42