NSTextBlock backgroundColor 未绘制

NSTextBlock backgroundColor is not drawn

我有一个 NSTextBlock 子类,它有一个特定的 backgroundColor 集合。现在,当我将自定义段落样式添加到这样的文本范围时

let block = MyTextBlock()
block.backgroundColor = myBackgroundColor

let pstyle = NSMutableParagraphStyle()
pstyle.textBlocks = [block]

attributedText.addAttribute(.paragraphStyle, value: pstyle, range: textRange)

// Append the attributed string to the text views textStorage ...

显示的文本块没有背景色。我知道文本块有效,因为 rectForLayout 被调用,但是当我尝试覆盖 drawBackground 时它永远不会被调用。

我是否需要为 NSTextBlock 执行其他操作来绘制他们的背景?

PS: 边界似乎也被忽略了。我还尝试在 Github 上找到一个示例,但尽管设置了背景颜色,但它也没有绘制任何背景。

尝试了所有方法后,我终于设法让背景显示出来,通过设置

setValue(100, type: .percentageValueType, for: .width)

似乎绘图逻辑需要一些内容大小值。那里的文档工作真的很棒。找不到这个要求