提问人:subsp4ce 提问时间:8/2/2023 更新时间:8/2/2023 访问量:126
如何在列表中的 SwiftUI 选取器中自定义所选项目复选标记图标
How to customize selected item checkmark icon in SwiftUI Picker in List
问:
使用 SwiftUI,我如何在这个简单的选取器中自定义所选风格的复选标记图标?
struct ContentView: View {
var flavors = ["orange", "strawberry", "lemon"]
@State private var selected: String = "orange"
var body: some View {
List {
Picker("Choose a flavor", selection: $selected) {
ForEach(flavors, id: \.self) {
Text($0)
}
}
.pickerStyle(.inline)
}
}
}
答:
0赞
devdchaudhary
8/2/2023
#1
您必须在列表中创建自己的自定义视图,以允许用户选择如下选项
struct ContentView2: View {
var flavors = ["orange", "strawberry", "lemon"]
@State private var selected: String = "orange"
var body: some View {
List {
ForEach(flavors, id: \.self) { flavor in
Button {
withAnimation {
selected = flavor
}
} label: {
FlavorRow(flavor: flavor, isSelected: flavor == selected)
.tag(flavor)
}
}
}
}
}
struct FlavorRow: View {
var flavor: String
var isSelected: Bool
var body: some View {
HStack {
Text(flavor)
Spacer()
if isSelected {
Image(systemName: "checkmark.seal")
.foregroundColor(.accentColor)
}
}
}
}
评论