带有 SidebarListStyle 的 SwiftUI 列表没有圆角?
Posted
技术标签:
【中文标题】带有 SidebarListStyle 的 SwiftUI 列表没有圆角?【英文标题】:SwiftUI List with SidebarListStyle does not have Rounded Corners? 【发布时间】:2020-12-22 19:30:33 【问题描述】:我在SwiftUI
中有一个Issue
和Lists
。
问题:很简单,我在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 列表没有圆角?的主要内容,如果未能解决你的问题,请参考以下文章