cocoa - NSTextView 中位置在屏幕上的位置

标签 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

最佳答案

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

关于cocoa - NSTextView 中位置在屏幕上的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2243906/

相关文章:

cocoa - NSImageView 始终显示在任何其他类型的 View 之上

ruby - 使用 MacRuby 和脚本桥关闭窗口

macos - 设置 NSTextView 的占位符字符串

objective-c - 让 NSTextView 完全适合它的内容

objective-c - NSTextView 中类似搜索的高亮显示

objective-c - 使用 WKWebView 接收 NSDraggingDestination 消息

macos - 将数据写入文件并设置自定义图标

android - 在 Android 中根据屏幕大小以声明方式隐藏 View

Android:选择不同的主题后使用不同的可绘制对象,保持相同的引用

android - 如何在 CardView 的自定义形状中隐藏阴影?