【发布时间】:2021-02-24 07:55:08
【问题描述】:
我有一个项目数组,我想在点击时更改其前景色。现在使用下面的代码,它们都变成了蓝色。应该怎么修改?
struct HorizontalCardSelector: View {
@State var selected = 0
@State var items: [String] = ["Visa", "MasterCard", "PayPal"]
var body: some View {
ScrollView(.horizontal, showsIndicators: false) {
HStack(spacing: 17) {
ForEach(items, id: \.self) { item in
Button(action: {
self.selected = items.firstIndex(of: item)!
print("item \(item) tapped")
}, label: {
Text(item)
.foregroundColor(self.selected == selected ? .blue: .black)
.fontWeight(.semibold)
})
}
}
}
.padding(.vertical)
}
}
【问题讨论】:
标签: arrays button foreach swiftui