无边框NSWindow圆角

Jos*_*hua 4 macos cocoa objective-c nswindow

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

我怎样才能给一个无边框的圆角?

不是这个问题的重复,因为该问题更多的是删除标题栏,它目前没有答案.

Mar*_*ark 7

您可以使窗口完全透明,并自己处理所有内容.我的示例是用于OpenGL视图,但它也适用于Quartz视图或Cocoa视图.

将以下内容添加到NSWindow子类的初始值设定项中,使用NSBorderlessWindowMask常量创建新窗口.

[self setOpaque:NO];
[self setBackgroundColor:[NSColor clearColor]]; 
Run Code Online (Sandbox Code Playgroud)

您可能需要自己绘制调整大小控件.我从中获取的样本是一个全屏窗口,因此不需要调整大小.

祝好运.