Background sur une List

Bonjour à tous,
Je viens de finir la première partie du cours de Maxime sur SwiftUI avec l’application Clicker qui affiche à la fin la liste des joueurs avec leur score.
J’essaye de trouver une solution pour que cette liste n’est pas de background et laisse ainsi apparaitre le fond de mon appli mais je ne trouve rien…
J’ai trouvé un modifier ( .listRowBackground(Color.clear)) mais rien n’est pris en compte…
Merci pour votre aide éventuelle…

@stevalo pour iOS 13, il faut ajouter le code suivant au-dessus de var body.

init() {
        UITableView.appearance().backgroundColor = .none
        UITableViewCell.appearance().backgroundColor = .none
    }

Pour iOS 14, il y a peut-être une meilleure solution.

ça m’intéresse aussi, je cherchais justement une solution à ce problème
j’ai essayé ton code, Anthony mais ça fonctionne uniquement si le tableau est vide.

J’ai juste réussi à faire ça avec une Zstack dans chaque ligne de la liste :

@DavRam sur iOS 13, ça fonctionne bien.

Mais effectivement, sur la bêta d’Xcode 12 et iOS 14 ça ne fonctionne plus.

À vérifier quand même, car je ne suis pas à jour avec la bêta d’Xcode et sachant que c’est une bêta et qu’il peut y avoir des bugs.

On peut y arriver avec iOS 14 et Xcode 12 en utilisant un LazyVStack à la place de List.

Code partiel :

struct MaListeView: View {
  var liste:[DataCellule]
  var body: some View {
    ScrollView {
      LazyVStack {
        ForEach (liste) { item in
          CelluleView(data: item)
        }
      }
    }
  }
}


struct ContentView: View {
  @ObservedObject var modele = Modele(nbCellules: 30)
  @State var drawListe = true
  
  var body: some View {
    ZStack {
      /// Fond d'écran - Couleur Jaune
      Rectangle()
        .edgesIgnoringSafeArea(.all)
        .foregroundColor(Color.yellow)
      /// Affichage Liste
      MaListeView(liste: modele.liste).padding(.all, 10)
    }
  }
}

Voila ce que cela donne :

J’ai vérifié avec la dernière bêta, cela ne fonctionne toujours pas. Dommage que List soit l’un des seuls composants graphiques de SwiftUi a ne pas avoir un fond transparent par défaut.

Merci Draken, ça a marché :slight_smile:

@Draken je voulais essayer aujourd’hui avec la LazyVStack, car il était très tôt, quand j’ai répondu à @DavRam :joy:

@DavRam si tu veux avoir la même présentation que la liste rajoute un Divider() dans le ForEach de la LazyVStack.

Pas la peine de chercher des excuses, je suis plus rapide que toi, c’est tout …

1 « J'aime »

@Draken je suis désolé pour toi, mais la timeline prouve le contraire ! :stuck_out_tongue_closed_eyes:

C’est parfaitement clair. La timeline affirme que j’ai donné la solution il y a 9 heure, alors que le post où tu envisageais quelque chose de similaire date de 4 heures. Bouh … mauvais perdant !