我在ScrollView中有HStack,在HStack中有圆圈和文本。我如何在圆圈之间画一条线?(这是公共汽车的路线)
ForEach(stations, id: \.id) { station in
HStack{
Spacer().frame(width: 20)
Circle()
.stroke(Color.black,lineWidth: 4)
.frame(width: 10, height: 10)
Spacer().frame(width: 20)
Text(station.name)
Spacer()
if station.id > 0 {
Text(String(station.id))
}
let time = getNextDepartureTime(id: station.id)
Text("\(time.hour):\(time.minute)")
Spacer().frame(width: 20)
}
}
为单元创建一个结构(在您的代码中为HStack)。
// Content HStack cell view
struct ContentCellView: View {
var isLast: Bool = false
var body: some View {
VStack(alignment: HorizontalAlignment.leading, spacing: 0) {
HStack {
Image(systemName: "message.circle").frame(width: 30)
Text("Route")
Spacer()
Text("Time")
}
if !isLast {
Rectangle().fill(Color.blue).frame(width: 1, height: 14, alignment: .center).padding(.leading, 15.5)//.offset(y: -10)
}
}
}
}
struct ContentView: View {
var body: some View {
ScrollView{
VStack(spacing: 0){
ForEach((1...10).reversed(), id: \.self) {
ContentCellView(isLast: $0 == 1) // isLast for not showing last line in last cell
}
}
}.padding()
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句