swift2 窗口标题栏出现透明问题(并非真正透明)

bq8i3lrv  于 2022-11-06  发布在  Swift
关注(0)|答案(1)|浏览(227)

我正试图让我的应用程序有更多的“平面”感觉,所以我认为隐藏标题栏是个好主意。
然而,在现实中titlebarAppearsTransparent似乎只是删除标题栏阴影,而不是使标题栏真正透明。
在使用任何代码修改标题栏之前,

添加下面的代码后(开始有了更好的感觉),

self.window?.titlebarAppearsTransparent = true

将背景颜色设置为白色,

self.window?.backgroundColor = NSColor.whiteColor()
    self.window?.titlebarAppearsTransparent = true

这当然不是我想要的,我以为我只是把标题栏透明变成了true,这是怎么回事?
任何提示或评论都是赞赏和感谢您的时间查看此问题。

z0qdvdin

z0qdvdin1#

尝试添加:

self.window?.styleMask |= NSFullSizeContentViewWindowMask

设置后,内容视图将占用窗口的整个大小;它可以与其他窗口样式掩码组合,但仅适用于带有标题栏的窗口。使用此掩码将选择层支持。使用contentLayoutRect或contentLayoutGuide可在标题栏-工具栏区域下布置视图
如果你根本不想保留标题栏,你也可以添加:

self.window?.titleVisibility = NSWindowTitleVisibility.Hidden;

窗口将隐藏标题并将工具栏向上移动到标题先前占据的区域。
您可能还希望添加此选项,以便通过拖动其内容视图来移动窗口:

self.window?.movableByWindowBackground = YES

一个布尔值,指示是否可以通过单击并拖动窗口背景中的任意位置来移动窗口。如果可以通过单击并拖动窗口背景中的任意位置来移动窗口,则此属性的值为YES;否则为NO。

相关问题