2010-08-03 91 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