Swift/OS X - 删除应用程序标题栏并添加自定义关闭按钮

Swift/OS X - Remove Application Title Bar and Add Custom Close Button

我正在开发一个 mac 小应用程序,我想要 window 的非常具体的样式。我想完全删除应用程序的菜单栏,然后​​开始添加自定义关闭按钮。 (只有一点白色 'X',没有边框。)我想要这个的原因是我希望让应用程序的背景图像覆盖整个 window,而不仅仅是视图控制器区域和灰色标题上面有斑点。到目前为止,我的 window 控制器包含以下内容:

self.window!.titleVisibility = NSWindowTitleVisibility.Hidden;
self.window!.titlebarAppearsTransparent = true
self.window!.movableByWindowBackground  = true

所有这一切只是删除灰色条,但按钮保留在它们原来的位置。

感谢阅读,感谢大家的帮助。

show/hide window 按钮想要设置 NSWindowButton:

的可见性

These constants provide a way to access standard title bar buttons:

enum NSWindowButton : UInt {
    case CloseButton
    case MiniaturizeButton
    case ZoomButton
    case ToolbarButton
    case DocumentIconButton
    case DocumentVersionsButton
    case FullScreenButton
}

所以您可能会使用类似这样的东西来设置此可见性:

self.window!.standardWindowButton(NSWindowButton.CloseButton)?.hidden = true

您想要优先使用的任何其他常量都可能以相同的方式工作。然后,您可以将新的自定义关闭按钮设置为应用程序第一响应者 terminate 功能。