Ios 如何更改列表中的ListStyle
在SwiftUIIos 如何更改列表中的ListStyle,ios,swift,swiftui,Ios,Swift,Swiftui,在SwiftUI列表中似乎有一个名为ListStyle的属性 如何更改列表的样式 struct ListView : View { var body: some View { NavigationView { List(Item.create().identified(by: \.id)){ row in NavigationButton(destination: DetailsView(item: row)) { RowView(item
列表中
似乎有一个名为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
一致的每个样式都是struct,就像它们不是枚举值一样
有人知道如何更改列表的样式吗
Xcode错误
无法将“StaticMember.type”(也称为“StaticMember>.type”)类型的值转换为预期的参数类型“StaticMember”
使用:.listStyle(StaticMember)
Xcode错误
无法将类型为“(StaticMember).type”(又名“StaticMember>.type”)的值转换为预期的参数类型“StaticMember”
使用:.listStyle(StaticMember)
或.listStyle(StaticMember)
Xcode错误
“>”不是后缀一元运算符
Xcode Beta 5和nexts的更新
在Xcode Beta 5之后,这种方法现在已被弃用;现在苹果为每种风格都创建了一个结构实现。因此,您应该这样做:
.listStyle(GroupedListStyle())
。同样的方法也适用于其他可用样式
beta 5之前的旧实现
只需执行.listStyle(.grouped)
。供其他列表样式使用
.carousel
.default
.plain
.sidebar
基本上,您只是将ListStyle.grouped
传递给该方法,但是由于swift类型推断,您不需要指定结构。
每个静态成员都以这种方式工作
StaticMember
表示在ListStyle
协议中有一个静态成员。声明是这样的
extension StaticMember where Base : ListStyle {
/// A `ListStyle` that implements the system default grouped `List`
/// interaction and appearance.
public static var grouped: GroupedListStyle.Member { get }
}
从Xcode 11 beta 5开始,苹果需要以下内容,简要概述如下:
以下是各种风格的分类,以及它们在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推出:
ellipCallistStyle
在Xcode 11.2.1中,正确答案如下所示
.listStyle(GroupedListStyle())
Conforming Types ->
CarouselListStyle
DefaultListStyle
GroupedListStyle
PlainListStyle
SidebarListStyle
ref:我试过了,还是一样issue@user28434检查我使用的.plain
的更新,查看PlainListStyle
.listStyle(GroupedListStyle())
.listStyle(GroupedListStyle())
Conforming Types ->
CarouselListStyle
DefaultListStyle
GroupedListStyle
PlainListStyle
SidebarListStyle