PickerView:如何水平居中且没有空间?

问题描述 投票:0回答:1

我有此代码。

不幸的是,pickerview没有水平居中,并且按钮和pickerview之间(垂直)有太多空间,我现在可以使用offset了,但是有更好的方法吗?

   var body: some View {
        NavigationView {
            Form {
                Section(header: Text("Hi"), content: {
                    Button("Alphabet") {
                    }.frame(alignment: .center)
                    Button("Ok") {
                    }.frame(alignment: .center)
                    HStack {
                        Picker(selection: $sortedBy,
                               label: Text(""),
                               content: {
                                ForEach(p, id: \.self) { category in
                                    Text(category)
                                }
                            }).pickerStyle(WheelPickerStyle())
                    }
                })
            }
        }
    }

<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9DcWJxVy5wbmcifQ==” alt =“在此处输入图像描述”>

swiftui
1个回答
0
投票

问题是您的空标签

 label: Text(""),

即使标签是空的,它也会在选择器的左侧占用一些空间。您可以通过在标签上添加一些文本来进行检查。

要摆脱标签,请像这样调整代码:

.pickerStyle(WheelPickerStyle())
.labelsHidden()

这将使您的选择器选择居中

© www.soinside.com 2019 - 2024. All rights reserved.