NSWindow阴影具有透明度,如何裁剪某些区域

时间:2018-07-06 08:06:21

标签: macos nswindow nsshadow

在OS X应用程序中,我们已通过view.window?.hasShadow = true启用了阴影。这将在NSWindow上创建一个良好的阴影。我们通过自定义视图在应用程序中创建了一个孔,以通过其遮罩层查看通过它的背景。

我们的问题是阴影在孔区域中也是可见的。我们可以使阴影不出现在透明区域中吗?我们进行了搜索,但没有得到任何东西可以裁剪某些区域的窗口阴影。

这个阴影在应用程序中造成了一些问题

  1. 我们提供了一个按钮来折叠/展开有孔的视图。因此,孔将据此扩大和缩小。此时窗口将不会重新计算阴影。我们已经尝试过view.window?.invalidateShadow()。但这没有任何作用。
  2. 我们正在透明区域绘制一些文本。当展开折叠发生时,我们可以看到绘制的文本的痕迹。它将永远在那里。

如果我们调整应用程序的大小,一切都会很好,这将重新计算阴影。我们如何克服这些问题。解决的办法是什么。

0 个答案:

没有答案
相关问题