2012-09-13 30 views
3

我有一个很长的表格视图单元格列表。当我尝试从列表中获得一个框架时,我得到如下所示的内容:(0, 508) (56, 320) (x,y)(height, width)如何获取单元格或任何子视图的相对屏幕坐标?

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

我初始化单元格顶部的视图,然后伸展出来填满整个屏幕。当单元格位于屏幕的顶部时,这不成问题,但当单元格在列表中向下时,会导致动画不良。

回答

8

由于UITableViewUIScrollView一个子类,你可以使用contentOffset属性来获取多少像素从表视图,以显示内容的顶部之上,然后减去从细胞的y位置。

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

完美的作品,谢谢! – joslinm

相关问题