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

Car*_*man 5 macos titlebar button swift

我正在开发一个小型Mac应用程序,在该应用程序中我需要窗口的特定样式。我想完全删除应用程序的菜单栏,然后​​开始添加自定义关闭按钮。(只有一点白色的“ X”,没有边框。)我想要这样做的原因是我希望使应用程序的背景图像覆盖整个窗口,而不仅仅是上面散布的视图控制器区域和灰色标题栏。到目前为止,我的窗口控制器包含以下内容:

self.window!.titleVisibility = NSWindowTitleVisibility.Hidden;
self.window!.titlebarAppearsTransparent = true
self.window!.movableByWindowBackground  = true
Run Code Online (Sandbox Code Playgroud)

所有这些操作就是删除了灰色条,但这些按钮仍保留在原处。

感谢您的阅读,感谢所有帮助。

l'L*_*L'l 7

要显示/隐藏窗口按钮需要设置的可见性NSWindowButton

这些常量提供了一种访问标准标题栏按钮的方法:

enum NSWindowButton : UInt {
    case CloseButton
    case MiniaturizeButton
    case ZoomButton
    case ToolbarButton
    case DocumentIconButton
    case DocumentVersionsButton
    case FullScreenButton
}
Run Code Online (Sandbox Code Playgroud)

所以你可能会使用这样的东西来设置这个可见性:

self.window!.standardWindowButton(NSWindowButton.CloseButton)?.hidden = true
Run Code Online (Sandbox Code Playgroud)

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