我目前在Xcode 6,Beta 5中使用Swift。
我试图删除标题栏,或标题栏和实际内容之间的任何明显差异。如果我在窗口的“属性”检查器中启用“统一标题和工具栏”,则不会发生任何明显的情况。我已经把标题排除了。
如果没有输入标题,标题栏仍然可以区分,因为边界线和背景与窗口的其余部分不同,将其与实际内容分开。
一个很好的例子是当前的Yosemite,OS X 10.10,Notes应用程序。没有标题栏可见或可区分,只有关闭,最小化和调整大小按钮,如此处所示。
我已经搜索过并访问了其他帖子,但是没有收获 提到的那些完全隐藏标题栏,但我不知道如何手动重新添加关闭,最小化和调整大小按钮正确,这意味着它们看起来是正确的,没有实际的,偷偷摸摸的图像替换和连接使用菜单栏关闭,最小化和调整大小功能。
答案 0 :(得分:44)
OS X 10.10中添加的新窗口样式掩码NSFullSizeContentViewWindowMask
将起到作用。
self.window.titleVisibility = NSWindowTitleVisibility.Hidden;
self.window.titlebarAppearsTransparent = YES;
self.window.styleMask |= NSFullSizeContentViewWindowMask;
答案 1 :(得分:18)
对于10.10+,你可以使用这些:
window.titlebarAppearsTransparent = true
window.movableByWindowBackground = true
在约塞米蒂有一个关于窗户外观的官方示例项目。你可能想看看它。
答案 2 :(得分:16)
对于Swift 3: -
self.window.titleVisibility = .hidden
self.window.titlebarAppearsTransparent = true
self.window.styleMask.insert(.fullSizeContentView)
答案 3 :(得分:11)
你可以使用这些:
override func viewDidAppear() {
super.viewDidAppear()
self.view.window?.titlebarAppearsTransparent = true
self.view.window?.movableByWindowBackground = true
}
答案 4 :(得分:4)
答案 5 :(得分:3)
2017年9月更新,taget 10.11:
override func viewDidAppear() {
super.viewDidAppear()
self.view.window?.titleVisibility = .hidden
self.view.window?.titlebarAppearsTransparent = true
self.view.window?.styleMask.insert(.fullSizeContentView)
}
答案 6 :(得分:1)
我没有足够的声誉评论Ranfei Songs的答案,但在OSX 10.12上运行titleVisibility的语法略有不同,而不是:
self.window.titleVisibility = NSWindowTitleVisibility.Hidden;
您需要使用NSWindowTitleHidden,因此更新Ranfei的代码会导致您需要像这样指定:
self.window.titleVisibility = NSWindowTitleHidden;
self.window.titlebarAppearsTransparent = YES;
self.window.styleMask |= NSFullSizeContentViewWindowMask;