MacOS中使用SwiftUI的多列表视图

MacOS中使用SwiftUI的多列表视图,macos,swiftui,Macos,Swiftui,我一直在尝试使用SWiftUI,但似乎找不到任何关于如何使用SWiftUI在NSTableView中创建多列TableView的信息。我找到的所有示例都显示了一列数据。苹果公司的文档甚至指定SwiftUI列表结构用于数据行的单列显示。这是MacOS上应用程序的一个非常基本的数据结构,但似乎在任何地方都没有提到它 有人能解释一下吗?我想它还没有准备好,但仍然…您可以创建一个HStack,然后在两个vstack之间有一个分隔符,您可以在其中放置不同的数据列。它看起来像这样: List { H

我一直在尝试使用SWiftUI,但似乎找不到任何关于如何使用SWiftUI在NSTableView中创建多列TableView的信息。我找到的所有示例都显示了一列数据。苹果公司的文档甚至指定SwiftUI列表结构用于数据行的单列显示。这是MacOS上应用程序的一个非常基本的数据结构,但似乎在任何地方都没有提到它


有人能解释一下吗?我想它还没有准备好,但仍然…

您可以创建一个HStack,然后在两个vstack之间有一个分隔符,您可以在其中放置不同的数据列。它看起来像这样:

List {
    HStack {
        VStack {
            //Column 1 Data
        }
    }
    Divider()
    VStack {
        //Column 2 Data
    }
}

然后,无论需要多少列数据,都只需重复此操作。

现在可以从macOS 12到。

macOS 12+的更新(蒙特利) 在macOS Monterey中,
NSTableView
现在可以用
Table
包装。此外,
Table
可以支持带有键路径和尾随闭包的
TableColumn
s

struct ContentView:View{
@国家私有变量characters=StoryCharacter.previewData
var body:一些观点{
表格(字符){

表列("关于列交换和调整大小、标题、通过单击标题中的排序按钮进行行排序等,MacOS TableView比简单的列表复杂得多。我认为目前仍然有必要使用
NSViewRepresentable
。您有什么新信息吗?没有,没有新信息。关于缺少e,您是对的MacOS的示例-几乎不存在。你知道如何在SwiftUI中使用
NSTableView
了吗?是的,但它看起来和感觉上都被黑客攻击了。没有列标题或列交换、排序等。最好暂时使用一个真正的,希望今年WWDC之后有更好的东西可用。我更惊讶在完全没有提到它的情况下——实际上在任何地方都是如此。