SwiftUI Row Height of List - कैसे नियंत्रित करें?


9

मेरी स्विफ्टयूआई में एक सरल सूची है। नीचे दिए गए कोड और स्क्रीनशॉट शामिल हैं। मैं सूची में प्रत्येक पंक्ति की ऊंचाई कम करना चाहता हूं (इसलिए लाइनों और पाठ लाइनों के बीच एक साथ कम जगह)।

मैंने पहले से ही Hackack के लिए ".frame (ऊंचाई: 20)" जोड़ने की कोशिश की, लेकिन यह केवल पंक्ति रिक्ति को बढ़ाने की अनुमति देता है!

क्या ऐसा करने के लिए कोई रास्ता है?

धन्यवाद!

जेरार्ड

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

यहां छवि विवरण दर्ज करें

जवाबों:


27

सूची में पंक्ति की न्यूनतम ऊँचाई सेट करने के लिए पर्यावरण चर का उपयोग करें और उसके बाद अपनी इच्छित ऊँचाई के लिए HStack फ्रेम ऊँचाई बदलें ।

यहाँ कोड है:

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

यहाँ उत्पादन है:

यहां छवि विवरण दर्ज करें


परफेक्ट - बिल्कुल वही जिसकी मुझे तलाश थी। तेजी से प्रतिक्रिया के लिए धन्यवाद Razib - बहुत सराहना की!
गेरार्ड

1
शानदार जवाब, स्विफ्टयूआई :) में कई छिपी हुई चालें हैं
माइकेल ज़ीब्रो
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.