[英]Changing the colour of specific list elements SwiftUI
我的应用程序中有一个“玩家”列表,我希望其中一些人根据他们的属性具有不同的背景颜色。
每个 Player 对象都有一个 true 或 false 的 .active 属性。 根据这个值,我希望该行的背景是浅灰色而不是其他的白色。 我该怎么做? 我希望它会像这样简单:
List(homeTeam.players) {player in
HStack{
Text("\(player.shirtNumber) - \(player.playerName)")
Spacer()
Text("\(player.timerText)")
}
}
可以使用listRowBackground
修饰符来实现(但您需要直接使用ForEach
而不是List
)。
List {
ForEach(homeTeam.players) {player in
HStack{
Text("\(player.shirtNumber) - \(player.playerName)")
Spacer()
Text("\(player.timerText)")
}
.listRowBackground(player.active ? Color(UIColor.lightGray) :
Color(UIColor.systemBackground))
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.