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

Posted

技术标签:

【中文标题】带有 SidebarListStyle 的 SwiftUI 列表没有圆角?【英文标题】:SwiftUI List with SidebarListStyle does not have Rounded Corners? 【发布时间】:2020-12-22 19:30:33 【问题描述】:

我在SwiftUI 中有一个IssueLists


问题:很简单,我在NavigationView 中有一个List.listStyle(SidebarListStyle()),并且角不是圆角(见下图)


我的代码:

NavigationView 
    List 
        Label("Option", systemImage: "list.bullet.rectangle")
        Label("Option", systemImage: "tv")
        Label("Option", systemImage: "mail.stack")
    
    .listStyle(SidebarListStyle())
    .navigationTitle("Options")


结果:


问题:我怎样才能用圆角完成Standard ios 14 List Design


非常感谢您的帮助!

【问题讨论】:

【参考方案1】:

为此你需要不同的风格

 List 
      Label("Option", systemImage: "list.bullet.rectangle")
      Label("Option", systemImage: "tv")
      Label("Option", systemImage: "mail.stack")
 
 .listStyle(InsetGroupedListStyle())

更新:使用条件列表样式

    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")
    

和辅助扩展

extension List 
    @ViewBuilder
    func sidebarStyle(if flag: Bool) -> some View 
        if flag 
            self.listStyle(SidebarListStyle())
         else 
            self.listStyle(InsetGroupedListStyle())
        
    

【讨论】:

感谢您的回答。但是,我需要使用 SidebarListStyle,因为我想在 iPad 上使用 Sidebar。我怎样才能做到这一点? 我们可以根据平台使用条件列表样式,请参阅更新。

以上是关于带有 SidebarListStyle 的 SwiftUI 列表没有圆角?的主要内容,如果未能解决你的问题,请参考以下文章

使用 SWI 序言

SWI Prolog与GNU Prolog - SWI下的CLP(FD)问题

应用调试系统调用SWI

SWI-Prolog 写入文件

SWI-Prolog 写入文件

arm体系如何对SWI功能