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

Swe*_*per 14 uitableview coordinates ios swift

我有一个表视图,里面有一堆单元格.我想得到一个单元格的框架,而不是在超视图的坐标空间中,而是在表格视图的坐标空间中.

一张图片可能会更好地解释这一点

在此输入图像描述

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

我试图使用的frame属性UITableViewCell.但这不起作用,因为它返回(0,0,320,44).Y值不应为零,因为显然单元格不在屏幕顶部.

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

在此输入图像描述

而表视图是这样的:

在此输入图像描述

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

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

Jas*_*aur 28

请使用以下代码

let rectOfCell= tableView.rectForRowAtIndexPath(indexPath)
let rectOfCellInSuperview = tableView.convertRect(rectOfCell, toView: tableView.superview)
Run Code Online (Sandbox Code Playgroud)