2010-08-03 105 views
8

所以,我有这个UITableView。它在iPad应用程序中。有些单元在右侧有一个附件按钮(小圆箭头)。当按下时,我会提供一个弹出视图,用户可以选择与他们触摸的表格单元格相关的操作。到目前为止,这并不困难或例外。获取某个UITableViewCell的屏幕坐标?

但popover视图想知道它来自哪里,以便它可以绘制指向那里的小箭头。我自然会喜欢那个箭头来指向popover涉及的表格单元格。

我怎么才能找出当前屏幕坐标为表中的某个单元格,因为我知道它是indexPath?

回答

28

使用UITableView方法-rectForRowAtIndexPath:。请注意,在表视图的坐标系中返回一个矩形 - 如果您需要相对于同一窗口中的另一个视图的矩形,请使用UIView方法-convertRect:fromView:

+4

我的上帝,它很简单!我一定一直在寻找所有错误的地方。 – 2010-08-03 19:35:51

+1

小心这个,如果UITableCell在屏幕下方,它会给你在表格视图中的y坐标而不是实际的屏幕坐标。否则这种方法效果很好! – TChadwick 2012-09-07 00:23:11

+0

这个方法只给你从scrollview的偏移量,tableview包含。所以你会得到正确的大小,但如果你的tableView不在你的视图的顶部,它不会计算这个。如果向下滚动,则此方法不会尊重该事件。 – 2013-01-14 18:53:50