NSTextView和核心动画绘制故障

3
我在向NSTextView添加CA图层时遇到了一些问题。我想在文本视图中添加小的“气泡”(就像Xcode中的一样),所以我考虑使用核心动画来实现。当我在视图的-awakeFromNib [self wantsLayer:YES] 中启用层支持模式,并将一个空的CALayer作为根层 [self setLayer:rootLayer] 添加时,视图的内容被完全破坏并显示随机垃圾。

Random garbage

如果我在根层上设置背景颜色,则该颜色会很好地显示出来。所以透明层后面的文本视图没有重绘?还是另一个问题? 编辑: 这里有一个类似的示例项目(至少在10.8上)。

1
你能分享一些代码吗?(也许是将图层与视图关联的方法)? - clearwater82
我已经编辑了帖子,并附上了一个包含重现错误的项目的链接。 - Jonas Jongejan
1个回答

4

事实证明,您不能替换NSTextView的图层,只能添加子图层。因此,将行self.layer = rootLayer替换为[self.layer addSubLayer:rootLayer]即可。
替换图层会破坏NSTextView的绘制。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接