我的应用程序将NSTableView
配置为SourceList。
在NSTableView
下,表格中有两个NSButton
两个添加/删除项目。
表格和按钮嵌入在NSVisualEffectView
(.behindWindow模式)中。
结果非常好,我可以通过表格和按钮看到背景,但,当应用程序处于后台时(我将焦点放在另一个应用程序上),tableview和按钮变黑了,视图没有重绘,如下图所示(用iPhone拍摄,因为截图没有显示错误!):
容器视图(CustomView)是图层支持的。
任何导致解决这个问题的方法?提前谢谢!
答案 0 :(得分:1)
问题是我试图让NSOutlineView半透明(后窗混合),但是在TabView下。
Apple UI指南(here)声明如下:
当窗口包含多个侧边栏时,以及在面板或首选项窗口中使用侧边栏时,请使用不透明背景。所有其他时间,使用半透明背景。
由于TabView,我明显反对这个有技术副作用的规则(这导致了这个帖子: - ))。
- >使NSOutlineView不透明(不作为SourceList)解决了这个问题。
答案 1 :(得分:0)
您的任何观点是否不透明并实施drawRect:
?
当视图实现drawRect:
但未完全填充传入的rect(或从getRectsBeingDrawn:count:
返回的所有rects)时,我看到过类似的问题。