Cocoa NSTextView的疯狂字体问题
目前,我正在使用NSTextView进行字体度量。我希望这里的一位开发者能透露出一些情况 使用默认NSTextView中的Myriad Pro(从IB拖动并在新项目中运行),您可以得到以下结果: 请注意,选定的矩形如何与插入点具有相同的高度 现在查看页面中的行为: 请注意,选定的矩形与常规文本视图版本非常相似,但插入点高度实际上更能反映字体(而且更小!) 奇怪 我为什么在乎?以下是我与Helvetica和Myriad的应用程序屏幕: 请注意,在这两种情况下,轮廓符号与插入点高度完全居中。这些符号实际上是子视图,不在文本流中。请注意页面中的这些符号。无数年来,他们一直处于中心位置。很明显,苹果意识到了一些问题,并加以解决。知道他们做了什么吗Cocoa NSTextView的疯狂字体问题,cocoa,macos,fonts,nstextview,core-text,Cocoa,Macos,Fonts,Nstextview,Core Text,目前,我正在使用NSTextView进行字体度量。我希望这里的一位开发者能透露出一些情况 使用默认NSTextView中的Myriad Pro(从IB拖动并在新项目中运行),您可以得到以下结果: 请注意,选定的矩形如何与插入点具有相同的高度 现在查看页面中的行为: 请注意,选定的矩形与常规文本视图版本非常相似,但插入点高度实际上更能反映字体(而且更小!) 奇怪 我为什么在乎?以下是我与Helvetica和Myriad的应用程序屏幕: 请注意,在这两种情况下,轮廓符号与插入点高度完全居
谢谢 这不是苹果的错误,而是你的假设。这是字体度量和行高的函数。插入点取整个行高;绘制的字体部分没有
我以为几天前我指的是你。无论哪种方式,您都需要彻底理解此主题,以便确定在何处绘制点。对于页面,Myraid pro的插入点小于整行高度。这正是我所困惑的。目前,如果我将点视图设置为与封口高度相同的大小,并将其从glyph rect偏移(baselineoffset-capheight),这似乎是可行的。我只是想知道苹果是如何清理它们的插入点的。这一点很好,但你不能真正去看页面的实现,因为它的UI做了很多自定义的东西。您需要查看TextEdit的行为,因为它使用stock NSTextView。如果看到将来的NSTextView更新在绘制插入点时忽略线高度,我不会感到惊讶,但我也不会屏住呼吸。:-)