应用程序在后台时的图形错误 NSVisualEffectView

Graphical bug NSVisualEffectView when app in background

我的应用程序有一个 NSTableView 配置为 SourceList。 在 NSTableView 下有两个 NSButton 两个 add/remove 项在 table 中。 table 和按钮嵌入在 NSVisualEffectView(.behindWindow 模式)中。

结果很好,当应用程序处于后台时,我可以通过 table 和按钮 BUT 看到背景(我将焦点放在另一个应用程序),table视图和按钮变黑,视图未重绘,如下图所示(用iPhone拍摄,因为截图没有显示错误!):

这里是视图的 IB 结构:

容器视图 (CustomView) 是分层支持的。

有解决这个问题的方法吗?提前致谢!

您的任何观点是否不透明并实施 drawRect:

当视图实现 drawRect: 但未完全填充传入的矩形(或从 getRectsBeingDrawn:count: 返回的所有矩形)时,我看到过这样的问题。

问题是我试图让 NSOutlineView 半透明(在 -window 混合之后),但在 TabView 下。

A​​pple UI 准则 (here) 规定如下:

Use an opaque background when a window contains more than one sidebar, and when using a sidebar in a panel or preferences window. All other times, use a translucent background.

因为 TabView,我显然反对这个有技术副作用的规则(导致这个 post :-))。

--> 使 NSOutlineView 不透明(而不是作为 SourceList)解决了问题。