【问题标题】:Create a list with headers using SwiftUI and macOS使用 SwiftUI 和 macOS 创建带有标题的列表
【发布时间】:2020-08-05 10:00:14
【问题描述】:

我喜欢构建一个老式的 macOS 应用程序,而不是 iOS 应用程序!因此,我需要一个带有浅灰色背景标题行和列标题的列表。 通常,用户可以通过拖动标题列的末端来调整每列的大小。但是如何使用 SwiftUI 进行设置?

我阅读了很多关于 iOS 的内容,并在上面手动设置了一些文本(标题/标题)。但目的是使用内置功能,该标题属于一列,并且当更改标题的宽度时,该列也会更改。此外,双击将根据单击的列向上或向下对整个列表进行排序。列的宽度也会自动适应内容。

设置所有这些功能的属性在哪里?

【问题讨论】:

    标签: list macos header swiftui titlebar


    【解决方案1】:

    SwiftUI 列表只能有一列。 Xcode 13 为 Mac 应用程序添加了一个表格控件。表格控件支持多列,但需要 macOS 12。

    为了支持更早的 macOS 版本,您可以通过创建符合 NSViewRepresentable 的结构在 SwiftUI 中包装 AppKit 视图,例如 NSTableView。包装 NSTableView 应该会给你想要的 Mac 表格视图行为。

    SwiftUI 确实支持具有侧边栏列表样式的 Mac 列表。使用 SidebarListStyle 作为列表的样式。

    .listStyle(SidebarListStyle())
    

    【讨论】:

      猜你喜欢
      • 2019-10-30
      • 2022-06-10
      • 2016-02-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-20
      相关资源
      最近更新 更多