我有一个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
做一些其他事情来绘制他们的背景吗?
附言:边界似乎也被忽视了。我也试着在Github上找到一个样本,但它也没有绘制任何背景,尽管有一个背景颜色集。
在尝试了一切之后,我终于通过设置来显示背景
setValue(100, type: .percentageValueType, for: .width)
绘图逻辑似乎期望内容大小具有一定的值。那里的文档工作真不错。找不到这一要求。