带有 SidebarListStyle 的 SwiftUI 列表没有圆角?

chr*_*epe 1 sidebar list ios swift swiftui

我有一个Issuewith Listsin SwiftUI


问题:很简单,我有一个Listwith .listStyle(SidebarListStyle())inside aNavigationView并且角落不是圆形的(见下图)


我的代码:

NavigationView {
    List {
        Label("Option", systemImage: "list.bullet.rectangle")
        Label("Option", systemImage: "tv")
        Label("Option", systemImage: "mail.stack")
    }
    .listStyle(SidebarListStyle())
    .navigationTitle("Options")
}
Run Code Online (Sandbox Code Playgroud)

结果:

代码结果


问题:如何Standard iOS 14 List Design用圆角完成?


非常感谢你的帮助!

Asp*_*eri 8

为此你需要不同的风格

 List {
      Label("Option", systemImage: "list.bullet.rectangle")
      Label("Option", systemImage: "tv")
      Label("Option", systemImage: "mail.stack")
 }
 .listStyle(InsetGroupedListStyle())
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

更新:使用条件列表样式

    NavigationView {
         List {
              Label("Option", systemImage: "list.bullet.rectangle")
              Label("Option", systemImage: "tv")
              Label("Option", systemImage: "mail.stack")
         }
         .sidebarStyle(if: UIDevice.current.userInterfaceIdiom == .pad)
         .navigationTitle("Options")
    }
Run Code Online (Sandbox Code Playgroud)

和辅助扩展

extension List {
    @ViewBuilder
    func sidebarStyle(if flag: Bool) -> some View {
        if flag {
            self.listStyle(SidebarListStyle())
        } else {
            self.listStyle(InsetGroupedListStyle())
        }
    }
}
Run Code Online (Sandbox Code Playgroud)