簡體   English   中英

更改特定列表元素 SwiftUI 的顏色

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM