J'ai une liste simple dans SwiftUI. Code et capture d'écran inclus ci-dessous. Je voudrais réduire la hauteur de chaque ligne de la liste (donc moins d'espace entre les lignes et les lignes de texte plus rapprochées).
J'ai déjà essayé d'ajouter un ".frame (hauteur: 20)" au HStack mais cela ne permet que d'augmenter l'interligne!
Y-a-t-il un moyen de faire ça?
Merci!
Gérard
import SwiftUI
struct PressureData: Identifiable {
let id: Int
let timeStamp: String
let pressureVal: Int
}
struct ContentView : View {
@State var pressureList = [
PressureData(id: 0, timeStamp: "11:49:57", pressureVal: 10),
PressureData(id: 1, timeStamp: "11:49:56", pressureVal: 8),
PressureData(id: 2, timeStamp: "11:49:55", pressureVal: 9),
PressureData(id: 3, timeStamp: "11:49:54", pressureVal: 1),
]
var body: some View {
VStack {
Text("Pressure Readings")
.font(.system(size: 30))
List(pressureList) { row in
HStack {
Spacer()
Text(row.timeStamp)
Text("--->")
Text(String(row.pressureVal))
Spacer()
} .frame(height: 30)
}
}
}
}
Utilisez la variable d'environnement pour définir la hauteur minimale de la ligne dans la liste et modifiez ensuite la HStack hauteur du cadre à la hauteur souhaitée.
Voici le code:
var body: some View {
VStack {
Text("Pressure Readings")
.font(.system(size: 30))
List(pressureList) { row in
HStack {
Spacer()
Text(row.timeStamp)
Text("--->")
Text(String(row.pressureVal))
Spacer()
}.frame(height: 10)
}.environment(\.defaultMinListRowHeight, 10)
}
}
Voici la sortie: