对于tableView中的每个单元格,indexPathForRowAtPoint.row始终返回零

时间:2015-01-20 23:58:13

标签: ios uitableview swift

我有tableView单元格,其中包含一些自定义视图。触摸自定义视图时,我需要存储触摸视图所在的单元格的indexPath.row。这就是我目前获取indexPath的方式:

@IBAction func bulletGroupPressed(sender: AnyObject) {

    let center = sender.center as CGPoint
    let indexPath = self.exercisesTableView.indexPathForRowAtPoint(center)!
    self.exercisesTableView.selectRowAtIndexPath(indexPath, animated: false, scrollPosition: UITableViewScrollPosition.None)

    println(indexPath.row)
  }

我怀疑它与indexPath行上的!有关,但我不确定它究竟是什么。为什么indexPath.row总是在每个单元格上给我零?

1 个答案:

答案 0 :(得分:2)

我无法在swift中给你一个编码答案,但需要在表的坐标系中说明这一点。如你所知,中心在发件人父母的坐标系中陈述,可能是表格视图单元格。使用方法convertPoint:toView:来修复坐标系。

或者,您可以考虑创建一个类似in my answer to this question的方法。从任何视图(在您的情况下,发送者),它将向上走到视图层次结构到第一个UITableViewCell并报告该单元格的索引路径。