ios - 如何更改 List 中的 ListStyle
问题描述
在 SwiftUI 中List
似乎有一个名为ListStyle
.
如何更改列表的样式
struct ListView : View {
var body: some View {
NavigationView {
List(Item.create().identified(by: \.id)){ row in
NavigationButton(destination: DetailsView(item: row)) {
RowView(item: row)
}
}
.listStyle(StaticMember<PlainListStyle.Member>.self) // error here
.foregroundColor(.red)
.navigationBarTitle(Text("List View"))
.statusBar(hidden: false)
}
}
}
ListStyle
协议的遵守方是
- 轮播列表样式
- 默认列表样式
- 分组列表样式
- 纯列表样式
- 侧边栏列表样式
但是我正在努力尝试使用它为列表设置新样式
.listStyle(StaticMember<PlainListStyle.Member>.self)
我尝试了很多方法,但是每种样式都确认ListStyle
为结构,就像它们不是枚举值一样
任何人都知道如何改变风格List
?
Xcode 中的错误
无法将类型“StaticMember.Type”(又名“StaticMember>.Type”)的值转换为预期的参数类型“StaticMember<_>”
使用 :.listStyle(StaticMember<PlainListStyle.Member>)
Xcode 中的错误
无法将类型“(StaticMember).Type”(又名“StaticMember>.Type”)的值转换为预期的参数类型“StaticMember<_>”
使用:.listStyle(StaticMember<PlainListStyle()>)
或.listStyle(StaticMember<PlainListStyle.self>)
Xcode 中的错误
'>' 不是后缀一元运算符
解决方案
从 Xcode 11 beta 5 开始,Apple 需要以下内容,如下所述:
.listStyle(GroupedListStyle())
以下是各种样式的细分以及它们可以在iOS和watchOS之间使用的位置,以及它们的引入时间。
iOS 和 watchOS
在 iOS 13 和 watchOS 6 中引入:
PlainListStyle
ListStyle
DefaultListStyle
仅限 iOS
在 iOS 13 中引入:
GroupedListStyle
iOS 14 引入:
InsetGroupedListStyle
InsetListStyle
SidebarListStyle
这个问题的一些答案还包括特定于 watchOS 的样式,但没有明确标记为这样,尽管问题被标记为 iOS。为了完整...
仅限 watchOS
watchOS 6 引入:
CarouselListStyle
watchOS 7 引入:
EllipticalListStyle
推荐阅读
- python - 如何在python中分组而不是排序
- java - LWJGL 3 - GLFW 窗口崩溃
- unix - 每连续两行合并
- windows - 使 cmd / powershell / windows 使用单独的 tesseract 安装,而不是来自 Chocolatey 的安装
- c++ - 无法使用 isdigit() 检测字符串中的数字
- python - 通过递归就地修改
- go - DynamoDB、STS 和 golang
- c# - UWP 使用 NamedPipes 向 Windows 服务发送消息
- wordpress - 使用 Gutenberg 作为编辑器时无法访问 WooCommerce 中的产品评论
- javascript - 在 jQuery 中寻找 Touchstart / Touchend 的解决方法