如何在表视图的坐标空间中获取表格视图单元格的框架?

时间:2016-06-11 12:09:09

标签: ios swift uitableview coordinates

我有一个包含大量单元格的表格视图。我想得到一个单元格的框架,而不是在超视图的坐标空间中,而是在表格视图的坐标空间中。

图片可能会更好地解释

enter image description here

看到红色矩形?那是表格单元格的框架。蓝色矩形是表格视图的框架。我想获得相对于蓝色矩形的红色矩形。

我尝试使用frame的{​​{1}}属性。但这不起作用,因为它返回(0,0,320,44)。 Y值不应该为零,因为显然单元格不在屏幕的顶部。

根据视图层次结构,这是预期的行为,因为表格单元格的超级视图显然是UITableViewCell,而不是表格视图:

enter image description here

虽然表视图是这样的:

enter image description here

那么是否有一个方法/属性可以让我UITableViewWrapperView表示表视图坐标空间中表格视图单元格的框架?

我认为有一个函数可以将坐标空间中的CGRect转换为另一个。但我忘了它的名字以及如何使用它。我不知道这种情况是否有帮助。

1 个答案:

答案 0 :(得分:24)

请使用以下代码

let rectOfCell= tableView.rectForRowAtIndexPath(indexPath)
let rectOfCellInSuperview = tableView.convertRect(rectOfCell, toView: tableView.superview)