在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)
}
}
}
Run Code Online (Sandbox Code Playgroud)
ListStyle协议的遵守方是
但是我正在努力尝试使用这样的清单设置新样式
.listStyle(StaticMember<PlainListStyle.Member>.self)
Run Code Online (Sandbox Code Playgroud)
我尝试了很多方法,但是每种样式都向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中的错误
'>'不是后缀一元运算符
Cod*_*der 14
Apple已弃用已接受答案中的枚举值,现在要求从Xcode 11 beta 5开始,它遵循以下布局:
.listStyle(GroupedListStyle())
Run Code Online (Sandbox Code Playgroud)
请注意,在变金之前,还需要进行一些其他更改。
其他可用值:
PlainListStyle
DefaultListStyle
在Xcode Beta 5之后,现在不推荐使用这种方法。现在,Apple为每种样式创建了一个struct实现。所以,你应该做的,如:
.listStyle(GroupedListStyle())。同样的方法适用于其他可用样式。
做吧.listStyle(.grouped)。对于其他列表样式使用
.carousel.default.plain.sidebar基本上,您只是传递ListStyle.grouped给该方法,但是由于进行了快速类型推断,您无需指定结构。每个静态成员都以这种方式工作。
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 }
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2545 次 |
| 最近记录: |