objective-c - 带圆角的无边框 NSWindow

标签 objective-c cocoa macos nswindow

我正在创建一个没有标题栏的自定义 NSWindow 并使用 NSBorderlessWindowMask 使其完全无边框。然而,我遇到的问题是 window 有锋利的边缘。除此之外,没有调整大小控件。

如何给无边框窗口圆角?

This is not a duplicate of this question as that question was more about removing the title bar and it currently holds no answers.

最佳答案

您可以使窗口完全透明并自行绘制所有内容。我的示例是针对 OpenGL View 的,但它也适用于 Quartz View 或 Cocoa View 。

将以下内容添加到您使用 NSBorderlessWindowMask 常量创建新窗口的 NSWindow 子类的初始化程序中。

[self setOpaque:NO];
[self setBackgroundColor:[NSColor clearColor]]; 

您可能必须自己绘制调整大小控件。我从中获取的示例是一个全屏窗口,因此无需调整大小。

祝你好运。

关于objective-c - 带圆角的无边框 NSWindow,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4593661/

相关文章:

java - 如何在 OS X 中检查管理员权限?

ios - 每次安装后 NSDocumentDirectory 都会更改

macos - 我如何知道从 NSSavePanel 中选择了哪种文件类型?

macos - 通过Mac Terminal上传文件夹

ios - swift 中的可选与 objective-c 中的 nil 指针有何不同?

macos - setAspectRatio 在调整窗口大小之前不起作用

java - OS X 下 JRE 8 的 Folder/lib/security 在哪里?

ios - translatesAutoresizingMaskIntoConstraints 和 IB

ios - ios8如何保持后台持续获取位置?

iphone - 在应用程序委托(delegate)中弹出到 Root View Controller