窗口标题栏显示不透明问题(实际上并不透明)

4
我正在尝试让我的应用程序变得更加“扁平化”,所以我认为隐藏标题栏是个好主意。

然而,在现实中,titlebarAppearsTransparent似乎只能去除标题栏的阴影,但并不能使标题栏真正透明。

在使用任何代码修改标题栏之前,

enter image description here

添加以下代码后(感觉更好),

self.window?.titlebarAppearsTransparent = true

enter image description here

Setting the background color to white,

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

在此输入图片描述

这肯定不是我想要的。我认为我只是将标题栏透明设置为true,怎么回事?

如有任何提示或评论,欢迎留言,感谢您抽出时间查看此问题。

1个回答

10

尝试添加:

self.window?.styleMask |= NSFullSizeContentViewWindowMask

当设置此属性时,内容视图会占据整个窗口的大小;可以与其他窗口样式掩码结合使用,但仅适用于带有标题栏的窗口。使用此掩码选择图层支持。使用contentLayoutRect或contentLayoutGuide在标题栏-工具栏区域下方布置视图。

如果您不想保留标题栏,也可以添加以下内容:

self.window?.titleVisibility = NSWindowTitleVisibility.Hidden;

窗口隐藏了标题,并将工具栏移动到先前由标题占据的区域。

您还可以添加以下内容,以便通过拖动其内容视图来移动窗口:

self.window?.movableByWindowBackground = YES
一个布尔值,指示窗口是否可以通过在其背景中单击并拖动而移动。当窗口可以通过在其背景中任何位置单击并拖动来移动时,此属性的值为YES;否则为NO。

哇,这确实有效!我真的应该更仔细地阅读文档。谢谢。 - XY Li

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