xcode 列表中的SwiftUI选择器在使用节时在顶部添加额外的行

k7fdbhmy  于 2023-05-08  发布在  Swift
关注(0)|答案(1)|浏览(189)

我在列表中有一个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())
    }
}

0ve6wy6x

0ve6wy6x1#

将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()
}

相关问题