NSTextView中位置屏幕上的位置

时间:2010-02-11 10:51:10

标签: cocoa layout nstextview glyph

我想获得NSTextView中某个点的屏幕位置(NSPoint),这应该很简单,但结果总是有点偏,X很完美,但Y似乎有所不同。

我已尝试过以下代码的一些变体,但无法得到我之后的结果,是NSClipView搞砸了吗?

NSPoint p = [[self layoutManager] locationForGlyphAtIndex:r.location];
//NSPoint b= [self convertPoint:p toView:nil];
NSPoint screenlocation = [self convertPointToBase:p];

有什么想法吗?

干杯!

MT

1 个答案:

答案 0 :(得分:1)

根据documentation,字形的位置是相对于其封闭的线段。您应该使用线段的矩形来调整点。这应该可以解决你看到的变化。