我有一个包含大量单元格的表格视图。我想得到一个单元格的框架,而不是在超视图的坐标空间中,而是在表格视图的坐标空间中。
图片可能会更好地解释
看到红色矩形?那是表格单元格的框架。蓝色矩形是表格视图的框架。我想获得相对于蓝色矩形的红色矩形。
我尝试使用frame
的{{1}}属性。但这不起作用,因为它返回(0,0,320,44)。 Y值不应该为零,因为显然单元格不在屏幕的顶部。
根据视图层次结构,这是预期的行为,因为表格单元格的超级视图显然是UITableViewCell
,而不是表格视图:
虽然表视图是这样的:
那么是否有一个方法/属性可以让我UITableViewWrapperView
表示表视图坐标空间中表格视图单元格的框架?
我认为有一个函数可以将坐标空间中的CGRect
转换为另一个。但我忘了它的名字以及如何使用它。我不知道这种情况是否有帮助。
答案 0 :(得分:24)
请使用以下代码
let rectOfCell= tableView.rectForRowAtIndexPath(indexPath)
let rectOfCellInSuperview = tableView.convertRect(rectOfCell, toView: tableView.superview)