objective-c - 带有自定义阴影的自定义 NSWindow

标签 objective-c macos cocoa nswindow nsshadow

我有一个 NSWindow 子类,如下所示

enter image description here

令我困扰的是我想改变阴影。 在标准窗口(例如此处的 Xcode)上,对比度有点弱。

所以我想对其应用更强的 NSShadow

我在这里找到了这个:

NSWindow with custom shadow

显然,您不应该这样做,因为 UI 主要应由操作系统处理。 但窗口已经完全自定义了,所以我想应该没问题。

我怎样才能实现这个目标?

<小时/>

编辑

我忘了提及,我知道我可以重绘 NSWindow,但我尽量避免这种情况。

最佳答案

据我所知,如果不深入研究私有(private) API,就无法实现这一目标。

如果您非常想更改阴影,唯一的方法就是将窗口中的 Root View 设置为有一个图层,在该图层上设置阴影,然后插入内容以为阴影腾出空间。阴影。但这也带来了一系列问题,包括窗口捕获本应针对底层窗口的点击,以及调整 handle 大小被关闭。

关于objective-c - 带有自定义阴影的自定义 NSWindow,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14093975/

相关文章:

ios - 使用动画进行 WebView 页面更改

iphone - 如何检测应用程序何时进入/退出挂起状态?

swift - 从 Pipe (stdout) 获取 ffmpeg 信息

java - 使用 Java 在 Mac 上的终端中运行使用管道的命令

c++ - FSEvent 无法在根上下文 : Error: FSEventStreamCreate: _FSEventStreamCreate: ERROR: watch_path() failed for 中创建流

iphone - 适用于大型应用程序的模块化架构,具有最佳实践以及 Storyboard 和 XIB 的使用

iphone - 使用Apple的MixerHostAudio示例类时遇到问题

objective-c - 我如何调整这个库以与 Storyboard一起使用?

node.js - Express 命令在终端中不起作用

objective-c - 透明 WebView(drawsBackground = false)