窗口标题栏出现透明问题(不是很透明)

时间:2016-03-11 16:05:07

标签: swift macos cocoa swift2

我试图让我的应用程序有更“平淡”的感觉,所以我认为隐藏标题栏是个好主意。

但是,实际上titlebarAppearsTransparent似乎只删除了标题栏阴影,但没有使标题栏真正透明。

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

enter image description here

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

self.window?.titlebarAppearsTransparent = true

enter image description here

将背景颜色设置为白色,

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

enter image description here

这当然不是我想要的。我以为我只是将标题栏透明化为true。这是怎么回事?

感谢任何提示或评论,感谢您抽出时间查看此问题。

1 个答案:

答案 0 :(得分:5)

尝试添加:

self.window?.styleMask |= NSFullSizeContentViewWindowMask
  

设置后,内容视图将占用窗口的完整大小;它   可以与其他窗口样式的蒙版组合,但只能得到尊重   用于带标题栏的窗口。使用此掩码选择加入图层   后盾。使用contentLayoutRect或contentLayoutGuide进行布局   标题栏 - 工具栏区域下面的视图

如果您根本不想保留标题栏,还可以添加:

self.window?.titleVisibility = NSWindowTitleVisibility.Hidden;
  

窗口隐藏标题并将工具栏移动到该区域   以前被标题所占据。

您可能还想添加此项以通过拖动其内容视图来移动窗口:

self.window?.movableByWindowBackground = YES
  

一个布尔值,指示窗口是否可移动   单击并拖动其背景中的任何位置。这个的价值   通过单击和拖动可以移动窗口时属性为YES   任何地方的背景;否则,没有。