在NSImageView上显示时,NSButton呈现问题

时间:2014-02-14 08:40:52

标签: objective-c macos cocoa nsview nsimageview

我在NSButton之上有一个NSImageView兄弟。

每当我点击窗口时,都会出现一些渲染问题。它看起来像这样:

enter image description here

如您所见,白边是问题所在 奇怪的是,如果我覆盖drawRect:,这个问题甚至会持续存在 什么都没有渲染,但每当我点击它时,就会出现那些白色边缘。

此外,当背景图像发生变化时,按钮会重新绘制,边缘会消失。

知道可能导致这种情况的原因吗?


修改

我发现这实际上发生在NSView的每一个实例上 它实际上清除了部分缓冲区(你可以看到桌面壁纸):

enter image description here


编辑2

我还发现,如果我对Windows内容视图进行分层,则不会发生这种情况。

1 个答案:

答案 0 :(得分:0)

嗯,任何人都无法回答这个问题。

我的窗口有一个自定义contentView,它只是绘制一个带圆角的视图 我没有使用self.bounds,而是使用dirtyRect来绘制背景。

因此,当contentView想要重新绘制已更新的控件的背景时,会删除那些圆角。