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

标签 objective-c macos nswindow

我想在 NSWindow-Object 上绘制自定义阴影。

有没有办法通过将自己的 NSShadow-Object 传递给 NSWindow 来做到这一点?或者一个(私有(private))方法,我可以把我自己的绘图代码放在哪里?

谢谢,

最佳答案

不。你不应该改变窗口的外观。只有 Apple 允许更改 UI 的外观。普通应用程序应使用标准应用程序。

也就是说,有办法,如果你真的坚持这样做。您不能只附加 NSShadow , 很遗憾。另外,据我了解,没有绘制阴影的私有(private)方法。这是由 Window Server 完成的,而不是由应用程序完成的。

但是您可以要求窗口服务器不要添加阴影。您是否注意到在 Interface Builder 中,有一个选项可以抑制给定窗口的阴影?这对应于属性 hasShadow NSWindow .

压制阴影后,你只需要自己画出一切。 ADC 上提供了一个很好的自定义窗口绘图示例代码。 ,所以看看它。

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

相关文章:

objective-c - 为什么原子和非原子概念已从 swift 中删除

macos - 尝试在 macOS High Sierra 上使用 Brew 安装 rsync 时出错

objective-c - 第一代 iPad 中的内存警告和崩溃

node.js - `node-pre-gyp install --fallback-to-build` 在 OSX 上安装 MeanJS 时失败

swift - 如何防止Mac菜单栏应用失去焦点?

objective-c - NSWindow 调整大小

cocoa - windowWillReturnFieldEditor 从未调用过 NSTextView

objective-c - 有没有一种简单的方法可以将 NSWindow NIB 更改为 NSView NIB?

ios - UICollectionView indexPathsForVisibleItems 在某些情况下不起作用

iOS View 对象属性与操作方法