首页 > 解决方案 > SwiftUI 选择器不显示选项

问题描述

我似乎无法在任何地方找到有关此的任何信息。所以我正在学习 SwiftUI,并且我正在尝试将 a 添加Picker到 a Form,但是选择器在点击时不会显示可用选项。我真的不知道还能告诉你们什么,所以有人可以看看并帮助我解决这个问题吗?谢谢 :)

//Outside the body code
    @State var contacts: [String] = [""]
    @State var types: [Type] = [.mobile]
//Inside the body code and inside a Form{}
    Section(header: Text("Contact")){
            ForEach(0..<types.count, id: \.self) { i in
                HStack{
                    Picker(selection: $types[i], label: Text(""), content: {
                        Text("Mobile").tag(Type.mobile)
                        Text("Land Line").tag(Type.landline)
                        Text("Email").tag(Type.email)
                    }).pickerStyle(DefaultPickerStyle())
                    .frame(width: 80.0)
                    TextField("Insert Detail", text: $contacts[i])
                }
            }
            Button("Add Another") {
                types.append(.mobile)
                contacts.append("")
            }

标签: swiftswiftui

解决方案


我最近设法解决了这个问题。

Picker 需要先包装在 NavigationView 中,然后才能在表单中工作。

我能够简单地将 NavigationView 添加到我的视图顶部并将表单放入其中,现在选择器可以完美运行。

var body: some View{
    NavigationView{
        Form{
            ....
            Picker()
            ....    
        }
    }
}

推荐阅读