如何获取单元格或任何子视图的相对屏幕坐标?

时间:2012-09-13 00:48:52

标签: ios

我有一长串的表格视图单元格。当我尝试从列表中获取其中一个帧时,我会得到类似:(0, 508) (56, 320) (x,y)(height, width)

的内容

我想知道有关当前屏幕的这些坐标 - 在320x480范围内。在根据self.view.window(通过convertRange)得到坐标后,我尝试过像508%480这样的事情,但我仍然没有看到我期待的结果。

我在单元格顶部初始化一个视图,然后伸展以填满整个屏幕。当单元格位于屏幕顶部时,这没有问题,但是当列表中的单元格较低时,它会导致错误的动画。

1 个答案:

答案 0 :(得分:8)

由于UITableViewUIScrollView的子类,因此您可以使用contentOffset属性来获取从表格视图顶部到显示内容顶部的像素数,然后从中减去细胞的位置。

CGFloat relativeY = someCellFrame.origin.y - someTableView.contentOffset.y;