【发布时间】:2021-02-01 15:27:09
【问题描述】:
我在模态框内展示一个列表。如果我在 NavigationView 中,则 EditButton 完全坏了。
struct ContentView: View {
@State var showSheetView = false
var body: some View {
NavigationView {
Button(action: {
self.showSheetView.toggle()
}) {
Image(systemName: "bell.circle.fill")
.font(Font.system(.title))
}
.sheet(isPresented: $showSheetView) {
SheetView()
}
}
}
}
struct SheetView: View {
@State private var myArray: [String] = ["One", "Two", "Three"]
var body: some View {
NavigationView {
VStack {
List {
ForEach(myArray, id: \.self) { item in
Text(item)
}.onDelete(perform: { indexSet in
})
}
}
.navigationBarItems(trailing: EditButton())
}
}
}
如果我删除了我展示的 NavigationView,那么一开始它似乎可以工作,第二次展示它就会再次损坏。
struct ContentView: View {
@State var showSheetView = false
var body: some View {
Button(action: {
self.showSheetView.toggle()
}) {
Image(systemName: "bell.circle.fill")
.font(Font.system(.title))
}
.sheet(isPresented: $showSheetView) {
SheetView()
}
}
}
【问题讨论】:
-
您能描述一下您认为损坏的地方以及想要的效果。两部电影看起来差不多。
-
所以我希望在点击编辑按钮进入编辑模式时。这意味着每行的红色按钮都会出现。有道理吗?
-
看第二张图片,这是我第一次以模态方式呈现屏幕时出现的。
-
如果将编辑按钮与列表而不是 vstack 关联会发生什么?
-
同样的错误...