SwiftUI Row Height of List - bagaimana cara mengontrol?


9

Saya punya Daftar sederhana di SwiftUI. Kode dan Screenshot termasuk di bawah ini. Saya ingin mengurangi ketinggian setiap baris dalam daftar (jadi lebih sedikit ruang antara garis dan garis teks yang berdekatan).

Saya sudah mencoba menambahkan ".frame (tinggi: 20)" ke HStack tetapi hanya memungkinkan penspasian baris ditingkatkan!

Apakah ada cara untuk melakukan itu?

Terima kasih!

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

masukkan deskripsi gambar di sini

Jawaban:


24

Gunakan variabel Lingkungan untuk mengatur Tinggi min minimum baris dalam daftar dan setelah itu ubah tinggi bingkai HStack ke tinggi yang Anda inginkan.

Ini kodenya:

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

Berikut hasilnya:

masukkan deskripsi gambar di sini


Sempurna - persis apa yang saya cari. Terima kasih atas tanggapan cepat Razib - BANYAK dihargai!
Gerard

Jawaban bagus, ada banyak trik tersembunyi di SwiftUI :)
Michał Ziobro
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.