当rowAtPoint:不反映部分可见的顶行时,如何在NSTableView中获取行?

时间:2014-04-14 13:47:00

标签: cocoa nstableview

这是NSTableView中的结果,其中顶部可见行完全可见:

======
        rowAtPoint: -> 0
        rowAtPoint: -> 0
------  
        rowAtPoint: -> 1
        rowAtPoint: -> 1
------

但是当NSTableView处于滚动位置时,我得到这种结果,其中顶部可见行仅部分可见:

======
        rowAtPoint: -> 0
------  
        rowAtPoint: -> 0   should be 1
        rowAtPoint: -> 1
------  
        rowAtPoint: -> 1   should be 2
        rowAtPoint: -> 2
------

我误解了rowAtPoint的目的:?

1 个答案:

答案 0 :(得分:1)

-[NSTableView rowAtPoint:]适用于表格的坐标系。我猜你是否使用相对于封闭NSClipView的点。使用-[NSView convertPoint:fromView:]或类似方法获得正确的坐标。