gpt4 book ai didi

listview - SwiftUI行高列表-如何控制?

转载 作者:行者123 更新时间:2023-12-03 07:35:06 32 4
gpt4 key购买 nike

我在SwiftUI中有一个简单的列表。代码和屏幕截图如下。
我想减少列表中每一行的高度(以使行和文本行之间的间距更小)。

我已经尝试过向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)
}
}
}
}

enter image description here

最佳答案

使用环境变量来设置列表中行的最小高度,然后将 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)
}
}
这是输出:
enter image description here

关于listview - SwiftUI行高列表-如何控制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58242342/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com