内部に「タップ」ボタンがあるカスタム UITableViewCell をロードする tableView を使用しています。ユーザーがボタンをクリックすると、メソッドが呼び出されます。
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{...
[btnRowTap addTarget:self action:@selector(didButtonTouchUpInside:) forControlEvents:UIControlEventTouchDown];
...
return cell;
}
didButtonTouchUpInside メソッドでは、次の方法で選択された行の値を取得しようとしています。
-(IBAction)didButtonTouchUpInside:(id)sender{
UIButton *btn = (UIButton *) sender;
UITableViewCell *cell = (UITableViewCell *)btn.superview;
NSIndexPath *indexPath = [matchingCustTable indexPathForCell:cell];
NSLog(@"%d",indexPath.row);
}
問題は、任意の行でボタンをクリックすると、毎回同じ値の 0 が得られることです。どこが間違っていますか?