在我们的 OS X 应用程序中,我们通过view.window?.hasShadow = true
. 这将在 NSWindow 上创建一个精细的阴影。我们通过自定义视图在应用程序中创建了一个洞,以通过其遮罩层查看背景。
我们的问题是阴影在孔区域中也是可见的。我们可以让阴影不出现在透明区域吗?我们已经搜索过,但没有得到任何东西可以在某些区域剪辑窗口阴影。
这个阴影在应用程序中造成了一些问题
- 我们提供了一个按钮来折叠/展开有洞的视图。所以孔会根据它扩大和缩小。此时窗口不会重新计算阴影。我们已经尝试过
view.window?.invalidateShadow()
. 但它没有任何效果。 - 我们正在透明区域上绘制一些文本。当展开折叠发生时,我们可以看到绘制文本的痕迹。它会一直在那里。
如果我们调整应用程序的大小,一切都会好起来的,这将重新计算阴影。我们如何克服这些问题。解决方法是什么。