修改行背景颜色列表 SwiftUI
Modify Row Background Colour List SwiftUI
我正在尝试更改列表中的行颜色。
struct ContentView: View {
@State var userProfiles : [Profile] = [Profile.default]
var body: some View {
VStack{
List(userProfiles.indices, id: \.self, rowContent: row(for:)).background(Color.red)
}.background(Color.red)
}
// helper function to have possibility to generate & inject proxy binding
private func row(for idx: Int) -> some View {
let isOn = Binding(
get: {
// safe getter with bounds validation
idx < self.userProfiles.count ? self.userProfiles[idx] : DtrProfile.default
},
set: { self.userProfiles[idx] = [=10=] }
)
return Toggle(isOn: isOn.isFollower, label: { Text("\(idx)").background(Color.red) } )
}
}
输出:-
我想达到:-
有人可以向我解释如何更改整行颜色。我已经尝试通过上面实现但还没有结果。
如有任何帮助,我们将不胜感激。
提前致谢。
使用listRowBackground
var body: some View {
VStack{
List {
ForEach(0...15, id: \.self, content: row(for:)).background(Color.red).listRowBackground(Color.red)
}
}
}
我正在尝试更改列表中的行颜色。
struct ContentView: View {
@State var userProfiles : [Profile] = [Profile.default]
var body: some View {
VStack{
List(userProfiles.indices, id: \.self, rowContent: row(for:)).background(Color.red)
}.background(Color.red)
}
// helper function to have possibility to generate & inject proxy binding
private func row(for idx: Int) -> some View {
let isOn = Binding(
get: {
// safe getter with bounds validation
idx < self.userProfiles.count ? self.userProfiles[idx] : DtrProfile.default
},
set: { self.userProfiles[idx] = [=10=] }
)
return Toggle(isOn: isOn.isFollower, label: { Text("\(idx)").background(Color.red) } )
}
}
输出:-
我想达到:-
有人可以向我解释如何更改整行颜色。我已经尝试通过上面实现但还没有结果。
如有任何帮助,我们将不胜感激。
提前致谢。
使用listRowBackground
var body: some View {
VStack{
List {
ForEach(0...15, id: \.self, content: row(for:)).background(Color.red).listRowBackground(Color.red)
}
}
}