Cocoa 根据NSTextField中的行高设置字体大小

Cocoa 根据NSTextField中的行高设置字体大小,cocoa,xcode4,nstextfield,Cocoa,Xcode4,Nstextfield,我有一个NSTEXT字段,用户可以在其中更改使用的字体 尽管字体的点大小保持不变,但对于某些字体,字体的实际高度要大得多。这意味着,如果用户将字体更改为“Zapfino”,例如,大部分文本将被裁剪。我希望框中的文本看起来总是大致相同的大小 此外,线条高度似乎会根据使用的字体而变化,这意味着它们排列不整齐,有时会被向下推,底部会被剪掉 如何保持文本大小和行高看起来相同?您需要使用单行的NSTextField。您可以在属性检查器中通过选中“使用单行模式”来执行此操作 如何做到: 现在,您的文本将如

我有一个NSTEXT字段,用户可以在其中更改使用的字体

尽管字体的点大小保持不变,但对于某些字体,字体的实际高度要大得多。这意味着,如果用户将字体更改为“Zapfino”,例如,大部分文本将被裁剪。我希望框中的文本看起来总是大致相同的大小

此外,线条高度似乎会根据使用的字体而变化,这意味着它们排列不整齐,有时会被向下推,底部会被剪掉


如何保持文本大小和行高看起来相同?

您需要使用单行的NSTextField。您可以在属性检查器中通过选中“使用单行模式”来执行此操作

如何做到:

现在,您的文本将如下所示:

按程序执行:


通过字体大小或缩放文本以适应边界以编程方式更改NSTextField高度。

您需要使用单行的NSTextField。您可以在属性检查器中通过选中“使用单行模式”来执行此操作

如何做到:

现在,您的文本将如下所示:

按程序执行:


按字体大小以编程方式更改NSTextField高度或缩放文本以适应边界。

这对我不起作用。当我增加字体大小时,文本框的高度保持不变,底部被裁剪掉。它现在将文本向上移动,顶部被裁剪掉。我是否缺少一些设置?如果使用代码更改字体,我也不确定这是否有效。我正在使用绑定来实现这一点。如果希望始终使用相同大小的字体,则需要通过将换行符更改为换行来更改NSTextField的高度(然后可以将高度更改为所需的任何高度)。如果用户可以更改高度,您可以尝试通过字体大小以编程方式更改NSTextField高度,或缩放文本以适应此处的边界示例:。我已使用您建议的问题实际更改了高度。这使我明白了。你能把它加到你的答案里吗?这样我就可以把它标为接受了。在评论中有点隐藏。这对我不起作用。当我增加字体大小时,文本框的高度保持不变,底部被裁剪掉。它现在将文本向上移动,顶部被裁剪掉。我是否缺少一些设置?如果使用代码更改字体,我也不确定这是否有效。我正在使用绑定来实现这一点。如果希望始终使用相同大小的字体,则需要通过将换行符更改为换行来更改NSTextField的高度(然后可以将高度更改为所需的任何高度)。如果用户可以更改高度,您可以尝试通过字体大小以编程方式更改NSTextField高度,或缩放文本以适应此处的边界示例:。我已使用您建议的问题实际更改了高度。这使我明白了。你能把它加到你的答案里吗?这样我就可以把它标为接受了。评论中有点隐藏。