我想以编程方式创建一个NSTextView。 如何确定正确的框架高度,以使视图以当前默认字体显示一行文本?

===============>>#1 票数:4 已采纳

NSFont类具有一个可以为您提供矩形大小的方法,该矩形将包围特定的属性字符串。 获取您的文本视图所使用的字体,创建一个字符串,作为该文本视图中内容的合理示例,然后使用该字符串来通知您的框架高度。 (帧高度必须比显示字符串的实际矩形大一些点。)

或者,您可以从字体中获取各种指标,然后尝试从中计算出合理的框架。 那可能行不通; 例如,Apple Chancery之类的字体根据要渲染的字形,它们在单词中的位置等的不同而有很大的不同。 我不知道您不知道要渲染的内容就可以预先计算所需的大小。

===============>>#2 票数:2

对于单行文本,使用NSTextField比使用NSTextView更为正常。

使用NSTextField,只需执行以下操作:

[textField setFont:myFont];
[textField sizeToFit];

哦,没有内置的“当前默认字体”。 如果应用程序具有这样的概念,则它需要自己对其进行跟踪。 字体面板不读取或写入全局任何东西,它用于对特定的文本对象进行操作。

  ask by Barry Wark translate from so

未解决问题?本站智能推荐:

3回复

如何获得NSTextView的选定行范围?

如何获得NSTextView的选定行范围?
3回复

如何将NSTextView限制为2行?

我正在尝试为NSTextView指定行数。 我的设计师要求最多两行文字。 我已经尝试过NSMutableParagraph样式来添加我想要的省略号截断,但是使用NSMutableParagraph我只能得到带有1行的NSTextView而没有NSMutableParagraph,我得到一个滚
1回复

如何使NSTextView的高度始终高于实际20px的高度?

我将NSTextView用作文本编辑器,并且我希望使其比用户输入文本后的重新计算高20 PX。 也就是说,当NSTextView在NSScrollView的末尾滚动时,将出现一个空白区域,该区域使用户不必输入回车符即可生成空白行。 这样,尾巴的文本将始终位于上侧,以方便用户的视觉体验。
1回复

NSTextView滚动

如何使NSTextView可滚动? 问题: 显示了文本视图,但无法滚动。 我必须调整窗口大小以查看更多内容 题: 如何使文本视图可滚动。 码:
1回复

NSTextField还是NSTextView?

有人可以向我解释NSTextField和NSTextView之间的主要区别是什么? 我知道NSTextView有更多的功能,通常用于更长的文本,NSTextField通常用于单行纯文本字段,但如果我理解正确,NSTextField也可以用于属性字符串和多行...... 我需要的是一个控件
1回复

专注于NSTextView

我的应用程序中有一个按钮和一个NSTextView。 我希望NSTextView在按下按钮时获得焦点。 如果我然后通过键盘输入文本,它应该进入NSTextView。 我应该在按钮的动作方法中添加什么代码?
1回复

NSTextView与文本泡泡

使用哪种技术来创建TextView,其中包含电子邮件的文本气泡,类似于电子邮件中的气泡
1回复

透明的NSTextView性能

我有一个NSWindow,上面有一个NSImage和一个NSTextView,上面有一个长文本http://www.gutenberg.org/cache/epub/100/pg100.txt ,如果我以纯色背景绘制,则文本编辑很快。 但是,如果我没有背景绘制,则[self setDraw
5回复

附加到NSTextView并滚动

好的,我需要的应该是非常简单的。 然而,我到处寻找,我不确定我找到了100%有效的东西(这也是过去困扰我的东西)。 所以,我们在这里: 我希望能够附加到NSTextView 附加后, NSTextView应向下滚动(以便最新的附加内容可见) 相当直截了当,是吧?
5回复

将NSTextView滚动到底部

我正在为OS X制作一个小型服务器应用程序,我正在使用NSTextView来记录有关已连接客户端的一些信息。 每当我需要记录某些东西时,我就会以这种方式将新消息附加到NSTextView的文本中: 在此之后我想要NSTextField(或者我应该说包含它的NSClipView)向下