UITapGestureRecognizer を使う。 ついでに、タップされた位置からセルの indexPath も取得してみる。
// タップされた位置からセルの indexPath を取得 - (void)imageViewTouched:(UITapGestureRecognizer*)sender { CGPoint point = [sender locationInView:self.tableView]; NSIndexPath *indexPath = [self.tableView indexPathForRowAtPoint:point]; } - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:self.cellIdentifier forIndexPath:indexPath]; // imageView をタップしたときイベントが発生するようにする [cell.imageView setUserInteractionEnabled:YES]; UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(imageViewTouched:)]; [tap setNumberOfTouchesRequired:1]; [tap setNumberOfTapsRequired:1]; [cell.imageView addGestureRecognizer:tap]; // セルに値をつめるのは省略 return cell; }