2017-01-22 52 views
1

我的应用程序有一个NSTableView配置为SourceList。 根据NSTableView是两个NSButton两个表中添加/删除项目。 表格和按钮嵌入在NSVisualEffectView(.behindWindow模式)中。图形错误NSVisualEffectView当应用程序在后台

结果非常好,我可以通过桌面和按钮看到背景,但是,当应用程序在后台(我将焦点放在另一个应用程序中)时,桌面视图和按钮变黑,并且视图不会重新绘制,如下图所示的画面(与iPhone,注意,因为截图不显示错误!):

Graphical bug when app in background

这里是意见的IB结构: IB structure

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

任何导致解决这个问题?提前致谢 !

回答

1

问题是,我试图有一个NSOutlineView半透明(幕后窗口混合),但在TabView下。

苹果UI准则(here)状态如下:

当一个窗口包含不止一个侧边栏,并使用在面板或偏好窗口中的边栏时使用不透明背景。所有其他时间,使用半透明背景。

由于TabView,我明显反对这个规则有技术副作用(导致这篇文章:-))。

- >使NSOutlineView opaque(而不是SourceList)解决了这个问题。

0

您的观点不透明,是否实施drawRect:

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

+0

不,不改变drawRect – vomi

相关问题