【发布时间】:2021-05-22 00:13:04
【问题描述】:
这很烦人。 NavigationBar 中的 Edit 按钮推动 View 两次。我做了一个测试按钮,它的行为正确地做同样的事情:
import SwiftUI
struct DetailListPage: View {
@Environment(\.presentationMode) var presentationMode
var listName: ListNames
// @State private var isEditDetailListPageShowing = false
@State private var selection: String? = nil
var body: some View {
Form {
Section(header: Text(listName.title ?? "")
.font(.title)
.padding()) {
Text(listName.listDetail ?? "Nothing is set yet!")
.multilineTextAlignment(.leading)
.padding()
.cornerRadius(12)
}
NavigationLink(destination: EditDetailListPage(listName: listName)) {
Button {
} label: {
Text("Edit Page")
}
}
}
.navigationBarBackButtonHidden(true)
.toolbar {
ToolbarItem(placement: .navigationBarTrailing) {
Button {
self.presentationMode.wrappedValue.dismiss()
} label: {
Text("Cancel")
} .padding()
//Edit List Detail
}
ToolbarItem(placement: .navigationBarTrailing) {
NavigationLink(
destination: EditDetailListPage(listName: listName)) {
Text("Edit")
}
}
}
}
上面的 Text("Edit") 将视图推送两次。 它上面的 Button 动作正确。想使用导航条而不是按钮。
【问题讨论】:
标签: swiftui swiftui-navigationlink