col*_*lin 13 foreach listview ios swift swiftui
我正在尝试构建一个循环遍历对象数组的 ForEach 。一切工作正常,但我不知道如何在元素之间添加分隔符。
行的布局位于单独的视图中,我尝试向行添加一个分隔符,这导致列表末尾看起来很糟糕,因为分隔符位于最后一项下方。
我无法使用List,因为它不是页面上的唯一视图。一切都在ScrollView中内。
作为参考,这里是到目前为止的代码和 UI。
这是列表视图的代码:
VStack {
ForEach (manufacturers) { manufacturer in
NavigationLink(destination: Text("test")) {
Row(manufacturer: manufacturer)
}
}
}
.background(Color("ListBackground"))
.cornerRadius(12)
Run Code Online (Sandbox Code Playgroud)
这是行视图的代码:
VStack {
HStack {
Text(manufacturer.name)
.font(.system(size: 18, weight: .regular))
.foregroundColor(.black)
Spacer()
Image(systemName: "chevron.right")
.foregroundColor(.secondary)
}
}
.padding()
.buttonStyle(PlainButtonStyle())
Run Code Online (Sandbox Code Playgroud)
有没有办法在 ForEach 循环中的每个项目之间添加分隔符,或者我可以从最后一个项目中删除分隔符?
我对能得到的每一个帮助感到高兴。
Asp*_*eri 21
这是一种可能的方法
ForEach (manufacturers) { manufacturer in
VStack {
NavigationLink(destination: Text("test")) {
Row(manufacturer: manufacturer)
}
// I don't known your manufacturer type so below condition might
// require fix during when you adapt it, but idea should be clear
if manufacturer.id != manufacturers.last?.id {
Divider()
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5546 次 |
| 最近记录: |