TextEdit / NSTextView:在插入内嵌图像后键入时,行高会发生变化

时间:2018-11-26 08:59:43

标签: cocoa nsattributedstring nstextview textkit nslayoutmanager

我有一个带有嵌入式丰富文本NSTextView的Mac应用程序,但是使用TextEdit可以重现相同的问题:

  • 当一行仅包含图像而没有文本时,在图像后立即键入会导致下面的文本向下移动。

TextEdit

  1. 打开一个新的TextEdit文档,然后键入“ test”,[返回]
  2. Cmd-Shift-Ctrl-4捕获某物的屏幕截图
  3. 将图像粘贴到下一行
  4. [返回],输入“测试”
  5. 现在在图像后键入一些内容

要在我的应用程序中对此进行调试,我添加了一些代码以突出显示通过NSLayoutManager校正的每个行片段:

Custom app with NSTextView

第2行的高度从14pt开始,一旦我输入字母,它就会变为18pt。

这是TextKit中的错误还是代码中的NSAttributedString属性不正确/缺失?

我尝试为我的嵌入式图像设置段落样式和字体,以及为NSTextView设置默认的段落样式,但是问题仍然出现。

0 个答案:

没有答案