提问人:alionthego 提问时间:5/7/2023 更新时间:5/7/2023 访问量:259
使用分区时,列表中的 SwiftUI 选取器会在顶部添加额外的行
SwiftUI Picker in List adding extra row on top when using sections
问:
我在列表中有一个 SwiftUI 内联选择器。它工作正常,但是当我将其包含在一个部分中时,每个部分的顶部都会出现一个空行,并带有内联选择器。无论如何都可以删除这个空行吗?如果我删除该部分,空行就会消失。
@State var color: String = "Red"
var colors: [String] = ["Red", "Green", "Blue"]
var body: some View {
List {
Section(header: Text("Colors")) {
Picker("", selection: $color) {
ForEach(colors, id: \.self) { color in
Text(color)
}
}
.pickerStyle(InlinePickerStyle())
}
}
}
var body: some View {
List {
Picker("", selection: $color) {
ForEach(colors, id: \.self) { color in
Text(color)
}
}
.pickerStyle(InlinePickerStyle())
}
}
答:
1赞
Joakim Danielson
5/7/2023
#1
将 init 更改为带有空标签可解决此问题init(selection:content:label:)
Section("Colors") {
Picker(selection: $color) {
ForEach(colors, id: \.self) { color in
Text(color)
}
} label: {}
.pickerStyle(.inline)
}
或者正如@workingdogsupportUkraine的评论中提到的,您也可以使用修饰符.labelsHidden()
Section(header: Text("Colors")) {
Picker("Picker", selection: $color) {
ForEach(colors, id: \.self) { color in
Text(color)
}
}
.pickerStyle(InlinePickerStyle())
.labelsHidden()
}
评论
.labelsHidden()
Picker