在无边框的NSWindow上实现圆角边框

5
我正在创建一个应用程序,我不想要标题栏
如果标题始终保持不变,那么显示它是否有意义呢?例如,如果应用程序不显示打开的文档或任何其他资产的名称,并且在其他控件周围有足够的空间可供抓取以移动窗口,则标题是否有很大作用?
问题是:我该如何做到这一点?我尝试使用[mainWindow setStyleMask:NSBorderlessWindowMask];,但我无法使其拥有圆角。我真的不知道如何制作圆角。此外,我无法使其具有调整大小的控件。如果我使用[mainWindow setStyleMask:NSBorderlessWindowMask | NSResizableWindowMask];,则它不再是无边框的了。有谁可以帮我吗?谢谢。

可能是隐藏NSWindow标题栏的重复问题。 - eonil
这个回答解决了你的问题吗?带圆角和阴影的NSWindow - Mecki
4个回答

4

虽然这是一个非常老的问题...

现在在OS X 10.11上更容易了。

        window1.backgroundColor             =   NSColor.whiteColor()
        window1.opaque                      =   false
        window1.styleMask                   =   NSResizableWindowMask
                                            |   NSTitledWindowMask
                                            |   NSFullSizeContentViewWindowMask
        window1.movableByWindowBackground   =   true
        window1.titlebarAppearsTransparent  =   true
        window1.titleVisibility             =   .Hidden
        window1.showsToolbarButton          =   false
        window1.standardWindowButton(NSWindowButton.FullScreenButton)?.hidden   =   true
        window1.standardWindowButton(NSWindowButton.MiniaturizeButton)?.hidden  =   true
        window1.standardWindowButton(NSWindowButton.CloseButton)?.hidden        =   true
        window1.standardWindowButton(NSWindowButton.ZoomButton)?.hidden         =   true

        window1.setFrame(CGRect(x: 400, y: 0, width: 400, height: 500), display: true)
        window1.makeKeyAndOrderFront(self)

这里是一个完整的工作示例:

点击这里

这是从另一个问题中复制的答案。看起来有点不同,但可以同样回答。


1

如果你想做一些完全不同的事情(比如画自己的窗口),可以查看 Matt Gemmell 的代码。 可以参考 MAAttachedWindow 代码,了解去除标题栏、绘制贝塞尔曲线角和达到卓越外观的方法。


1

这里有一个类似的SO问题:隐藏NSWindow标题栏

基本上,如果您使用NSBorderlessWindowMask,您将无法使用任何其他样式掩码,因此您将不得不自己实现窗口控件并自己处理圆角。

或者您可以使用常规的NSWindow,只是不设置标题。以Tweetie.app为例。

希望苹果能在10.7中提供新的窗口样式。


0

使用简单的技巧可以轻松创建带有圆角的窗口:创建一个具有透明背景的窗口,在该窗口中放置一个NSBox并将其用作内容视图。 NSBox已经具有圆角、可定制的背景颜色和可定制的边框(样式、颜色和角半径都是可定制的)。实际上,大部分工作甚至可以在Interface Builder中完成,最终只需要两行代码即可。有关详细示例,请在此处查看


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接