如何更改 SwiftUI 列表中分隔符的颜色?
How can I change the colour of separator in list of SwiftUI?
我在 Swift 中创建了一个列表UI。我想更改颜色或删除分隔符,因为在 UIKit 中,我们可以轻松更改 TableView 中分隔符的颜色。
下面是Swift中列表的代码和UI(图片)UI
@State private var users = ["Paul", "Taylor", "Adele"]
var body: some View {
List(){
ForEach(users, id: \.self) { user in
HStack{
Image("helmet").resizable().frame(width: 40, height: 40, alignment: .leading)
VStack(alignment : .leading){
Text(user).font(.custom("SFProText-Semibold", size: 14))
Text("Blu Connect").font(.custom("SFProText-Semibold.ttf", size: 11))
}
}
}
.onDelete(perform: delete)
}
}
试试这个
var body: some View {
UITableView.appearance().separatorColor = UIColor.blue
return List(){
ForEach(users, id: \.self) { user in
HStack{
Image("helmet").resizable().frame(width: 40, height: 40, alignment: .leading)
VStack(alignment : .leading){
Text(user).font(.custom("SFProText-Semibold", size: 14))
Text("Blu Connect").font(.custom("SFProText-Semibold.ttf", size: 11))
}
}
}
.onDelete(perform: delete)
}
}
这是一种全局变量,因此您要更改应用中所有 UITableView 的分隔符颜色(List 和 Form 在后台使用 UITableView)
iOS15
从今年开始,您可以使用 listRowSeparatorTintColor
修饰符将颜色单独应用于任何分隔符,例如:
删除
从iOS 15开始,你可以通过传递hidden
来使用listRowSeparator
修饰符。
请阅读 this detailed answer 以获取更多信息和示例。
2021 – Xcode 13 / SwiftUI 3
更改分隔符的颜色:
.listRowSeparatorTint(Color.pink)
隐藏分隔符:
.listRowSeparator(.hidden)
我在 Swift 中创建了一个列表UI。我想更改颜色或删除分隔符,因为在 UIKit 中,我们可以轻松更改 TableView 中分隔符的颜色。
下面是Swift中列表的代码和UI(图片)UI
@State private var users = ["Paul", "Taylor", "Adele"]
var body: some View {
List(){
ForEach(users, id: \.self) { user in
HStack{
Image("helmet").resizable().frame(width: 40, height: 40, alignment: .leading)
VStack(alignment : .leading){
Text(user).font(.custom("SFProText-Semibold", size: 14))
Text("Blu Connect").font(.custom("SFProText-Semibold.ttf", size: 11))
}
}
}
.onDelete(perform: delete)
}
}
试试这个
var body: some View {
UITableView.appearance().separatorColor = UIColor.blue
return List(){
ForEach(users, id: \.self) { user in
HStack{
Image("helmet").resizable().frame(width: 40, height: 40, alignment: .leading)
VStack(alignment : .leading){
Text(user).font(.custom("SFProText-Semibold", size: 14))
Text("Blu Connect").font(.custom("SFProText-Semibold.ttf", size: 11))
}
}
}
.onDelete(perform: delete)
}
}
这是一种全局变量,因此您要更改应用中所有 UITableView 的分隔符颜色(List 和 Form 在后台使用 UITableView)
iOS15
从今年开始,您可以使用 listRowSeparatorTintColor
修饰符将颜色单独应用于任何分隔符,例如:
删除
从iOS 15开始,你可以通过传递hidden
来使用listRowSeparator
修饰符。
请阅读 this detailed answer 以获取更多信息和示例。
2021 – Xcode 13 / SwiftUI 3
更改分隔符的颜色:
.listRowSeparatorTint(Color.pink)
隐藏分隔符:
.listRowSeparator(.hidden)