NSWindow - 隐藏标题栏,同时使用 Cocoa/AppKit 保留控制按钮(不是 SwiftUI)

NSWindow - hiding titlebar while keeping control buttons with Cocoa/AppKit (NOT SwiftUI)

我正在使用 XCode 构建一个 macOS (OSX) 应用程序,我正试图摆脱 [=51] 顶部的标题栏(也许它叫做工具栏?) =] 同时仍然保留 3 个控制按钮(关闭最小化全屏)。

到目前为止,我只能在保留按钮的同时隐藏此栏,但看起来该栏不知何故仍然存在。我的 NSTableViews 将其识别为栏并在行和 headers.

之前创建某种透明的安全区域

这是我目前得到的:

这就是我想要的:

请注意,该应用程序使用的是 UI 工具包和故事板 - 而不是 SwiftUI。左边的绿色区域是 NSSplitView 的侧边栏。只是为了让你理解结构。

我现在为 NSWindow 设置了这些属性:

谢谢!

您可以通过将 window 的标题栏设置为透明、隐藏其标题文本并将其外观设置为全尺寸内容视图来完成您正在寻找的内容。

Sample Project

如果您想让 table 视图忽略顶部插图,您需要将其封闭的滚动视图 automaticallyAdjustsContentInsets 属性 设置为 false

scrollView.automaticallyAdjustsContentInsets = false