单独视图中表单中的SwiftUI可编辑列表(如选择器)
我想从一个类似于选择器的表单中访问一个可编辑列表,其中表单中只显示一个条目,如果单击该条目,您将看到所有可用的选项 如果我在表单中使用列表,它的行为会有所不同。如何修改我的代码单独视图中表单中的SwiftUI可编辑列表(如选择器),swift,xcode,list,view,swiftui,Swift,Xcode,List,View,Swiftui,我想从一个类似于选择器的表单中访问一个可编辑列表,其中表单中只显示一个条目,如果单击该条目,您将看到所有可用的选项 如果我在表单中使用列表,它的行为会有所不同。如何修改我的代码 struct ContentView: View { @State var listItems = ["1", "2", "3"] @State var pickerIndex = 0 var body: some View {
struct ContentView: View {
@State var listItems = ["1", "2", "3"]
@State var pickerIndex = 0
var body: some View {
NavigationView {
Form{
Section{
//this is how I want it to be: one entry in the Form
Picker(selection: self.$pickerIndex, label: Text("Picker")){
Text("1").tag(0)
Text("2").tag(1)
Text("3").tag(2)
}
//this is not how I like it
List {
ForEach(listItems, id: \.self) { (item) in
Text(item)
}.onMove { (indexSet, index) in
self.listItems.move(fromOffsets: indexSet,
toOffset: index)
}
}
}
}
.navigationBarTitle(Text("Example"))
.navigationBarItems(trailing: EditButton())
}
}
}
复制picker的原因是什么?我希望用户能够更改列表中项目的顺序。我不能用选择器来做这件事。您可能想看看如何在表单中创建自定义选择器。@pawello2222谢谢!正是我要找的!唯一的问题是我无法单击EditButton()的“完成”。“编辑”有效。@1在此自定义选择器中,仅管理presentationMode。您可能需要添加editMode变量和管理(
.environment(\.editMode,…)
),复制picker的原因是什么?我希望用户能够更改列表中项目的顺序。我不能用选择器来做这件事。您可能想看看如何在表单中创建自定义选择器。@pawello2222谢谢!正是我要找的!唯一的问题是我无法单击EditButton()的“完成”。“编辑”有效。@1在此自定义选择器中,仅管理presentationMode。您可能需要添加editMode变量和管理(.environment(\.editMode,…)
)