SwiftUI Satır Listenin Yüksekliği - nasıl kontrol edilir?


9

SwiftUI'de basit bir listem var. Kod ve Ekran Görüntüsü aşağıdadır. Listedeki her satırın yüksekliğini azaltmak istiyorum (satırlar ve metin satırları arasında birbirine daha yakın olan daha az boşluk).

HStack'a zaten bir ".frame (height: 20)" eklemeye çalıştım, ancak yalnızca satır aralığının artırılmasına izin veriyor!

Bunu yapmanın bir yolu var mı?

Teşekkürler!

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

resim açıklamasını buraya girin

Yanıtlar:


28

Listedeki satırın Yüksekliğini ayarlamak için Ortam değişkenini kullanın ve bundan sonra HStack çerçeve yüksekliğini istediğiniz yüksekliğe değiştirin.

İşte kod:

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

İşte çıktı:

resim açıklamasını buraya girin


Mükemmel - tam olarak aradığım şey. Hızlı cevap için teşekkürler Razib - MUCH takdir!
Gerard

1
Harika cevap, SwiftUI'de birçok gizli numara var :)
Michał Ziobro
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.