如何在没有分组 table 样式的情况下在 SwiftUI 中创建 UISplitViewController?

How do I create a UISplitViewController in SwiftUI without grouped table style?

TL;DR

SwiftUI 的 UISplitViewSplitView 控制器设置正在对我的 table 视图进行分组。为什么?

struct ContentView: View {
    var body: some View {
        NavigationView {
            List(0..<5) { value in
                HStack {
                    Text("Value \(value)")
                }
            }
            .navigationTitle("List View")

            Text("Split View")
        }
    }
}

示例 1

更长

我正在研究 WWDC20 的 SwiftUI 轨迹,将其视为一个长篇代码。从第一个视频“Swift 简介UI”开始。

我用资源和一切开始了一个完整的示例项目。在我开始支持 iPad 之前,一切都进行得很顺利。我知道自视频制作以来确实发生了一些变化,但没有发现任何与 UISplitController 相关的内容。

出现错误后,我建立了一个较小的项目,该项目仅提供了拆分控制器来测试此问题。

只要我只是为 iPhone 呈现 ContentView,UI 就会按预期工作。

struct ContentView: View {
    var body: some View {
        NavigationView {
            List(0..<5) { value in
                HStack {
                    Text("Value \(value)")
                }
            }
            .navigationTitle("List View")
        }
    }
}

示例 2

我已尝试在设备上执行,但问题仍然存在。

只需明确使用普通列表样式:

var body: some View {
    NavigationView {
        List(0..<5) { value in
            HStack {
                Text("Value \(value)")
            }
        }
        .listStyle(PlainListStyle())       // << here !!
        .navigationTitle("List View")

        Text("Split View")
    }
}