gpt4 book ai didi

ios - 如何在 SwiftUI ListView 中的项目之间创建间距?

转载 作者:行者123 更新时间:2023-11-29 05:12:42 28 4
gpt4 key购买 nike

我似乎找不到在 List 项目之间创建间距的方法。也许我不应该首先放入一个列表?

enter image description here

你觉得怎么样?

这是生成 View 的代码:

struct ContentView: View {

@ObservedObject var ratesVM = RatesViewModel()

init() {
UINavigationBar.appearance().largeTitleTextAttributes = [.foregroundColor: UIColor.white]
UITableView.appearance().backgroundColor = UIColor.init(named: "midnight blue")
UITableViewCell.appearance().backgroundColor = .green
UITableView.appearance().separatorStyle = .none
}

var body: some View {

NavigationView {
List (ratesVM.ratesList, id: \.self) { rate in
Image(systemName: "plus")

Button(action: {print("pressed")}) {
Text(rate.hebrewCurrencyName)
}
}
.navigationBarTitle("המרות מטבע")
.navigationBarItems(leading:
Button(action: {
print("button pressed")
self.ratesVM.callService()
}) {
Image(systemName: "plus")
.foregroundColor(Color.orange)})
}.environment(\.layoutDirection, .rightToLeft)
}
}

最佳答案

您可以将最小列表行高定义得更大,这样行之间就会有更多的间隔。

List (ratesVM.ratesList, id: \.self) { rate in
Image(systemName: "plus")
Button(action: {print("pressed")}) {
Text(rate.hebrewCurrencyName)
}
}.environment(\.defaultMinListRowHeight, 50) //minimum row height

或者,您可以将行构建为 HStack 并指定框架高度。

List (ratesVM.ratesList, id: \.self) { rate in
HStack {
Image(systemName: "plus")
Button(action: {print("pressed")}) {
Text(rate.hebrewCurrencyName)
}
}.frame(height: 50) //your row height
}.environment(\.defaultMinListRowHeight, 20)

或者作为 VStack 并使用 Spacers

List (ratesVM.ratesList, id: \.self) { rate in
VStack{
Spacer()
HStack {
Image(systemName: "plus")
Button(action: {print("pressed")}) {
Text(rate.hebrewCurrencyName)
}
}
Spacer()
}.frame(height: 50)
}.environment(\.defaultMinListRowHeight, 20)

关于ios - 如何在 SwiftUI ListView 中的项目之间创建间距?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59528780/

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