将应用程序的标题栏宽度配置为某些值

时间:2020-12-19 06:50:28

标签: swift macos swiftui

首先,我想展示我的代码来配置我的应用程序的标题栏:

    let customToolbar = NSToolbar()
    customToolbar.showsBaselineSeparator = false
    window?.toolbar = customToolbar
    window?.titleVisibility = .hidden
    window?.titlebarAppearsTransparent = true

结果如下: enter image description here

然而,标题栏的宽度仍然跨越所有应用程序的宽度。我只想让它缩小到某个区域。例如,Apple Music 的界面

enter image description here

在 Apple 的 Music 案例中,工具栏和标题栏看起来像是在同一行。

如何在 SwiftUI 1.0 中执行此操作?

我很抱歉,因为我不知道如何更好地表达问题。如果我错过了什么,我很乐意添加更多信息。

1 个答案:

答案 0 :(得分:1)

UIKit 的答案是使用带有透明标题栏、隐藏标题和全尺寸内容视图的 splitviewcontroller。如果您想使用 SwiftUI 完成相同的操作,您需要使用 HSplitView,设置您的内容视图 edgesIgnoringSafeArea(.top),将您的 titleVisibility 设置为隐藏并将您的窗口 titlebarAppearsTransparent 设置为 true。