首页 > 解决方案 > 如何在 macOS 上通过 SwiftUI 正确实现 List 中的分隔符

问题描述

通过在 macOS 上使用 SwiftUI,List 中似乎没有默认分隔符。所以我使用 Divider 手动添加。但是当我启用多行选择时,应用程序会自动呈现一条白线。而且分界线和白线都存在似乎很奇怪。

是否有使用 SwiftUI 在 macOS 上实现行分隔符的最佳实践方法?或者我可以通过选择删除默认的白线渲染吗?

  1. 添加分隔线 在此处输入图像描述

  2. 带分隔线的多选 在此处输入图像描述

  3. 多选不带分隔符 在此处输入图像描述

struct WelcomeView: View {
    let contents = ["aaa", "bbb", "ccc"]
    @State var selection = Set<String>()

    var body: some View {
        List(selection: $selection) {
            Section(header: Text("header")) {
                ForEach(contents, id: \.self) { row in
                    VStack {
                        Text(row)

//                        Divider()
                    }
                }
            }
        }
    }
}

标签: swiftxcodemacosswiftuiswiftui-list

解决方案


推荐阅读