Ger*_*ard 3 formatting listview swiftui
我在SwiftUI中有一个简单的List。代码和屏幕截图如下。我想减少列表中每一行的高度(以使行和文本行之间的间距更小)。
我已经尝试过向HStack添加“ .frame(height: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)
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
Use Environment variable to set min Height of the row in the list and after that change the HStack frame height to your desired height.
Here is the 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)
}
}
Run Code Online (Sandbox Code Playgroud)
Here is the output:
| 归档时间: |
|
| 查看次数: |
525 次 |
| 最近记录: |