Altezza della riga SwiftUI dell'elenco: come controllare?


9

Ho un semplice elenco in SwiftUI. Codice e schermata inclusi di seguito. Vorrei ridurre l'altezza di ogni riga nell'elenco (quindi meno spazio tra le righe e le righe di testo più vicine tra loro).

Ho già provato ad aggiungere un ".frame (altezza: 20)" a HStack, ma consente solo di aumentare la spaziatura della linea!

C'è un modo per farlo?

Grazie!

Gerard

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)
        }
    }
  }
}

inserisci qui la descrizione dell'immagine

Risposte:


24

Utilizzare la variabile di ambiente per impostare l'altezza minima della riga nell'elenco e successivamente modificare l' altezza del telaio HStack all'altezza desiderata.

Ecco il codice:

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)
        }
  }

Ecco l'output:

inserisci qui la descrizione dell'immagine


Perfetto - esattamente quello che stavo cercando. Grazie per la rapida risposta Razib - MOLTO apprezzato!
Gerard

Ottima risposta, ci sono molti trucchi nascosti in SwiftUI :)
Michał Ziobro
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.