Have the same problem, as author of the post. Seems to me that NavigationLink is not working when editMode=.active. gesture helps to register tap on List item element, however, NavigationLink and transition to EditView still NOT handled as expected.
import SwiftUI
import PlaygroundSupport
struct DetailView: View {
var body: some View { Text("Hello DetailView World") }
}
struct EditView: View {
var body: some View { Text("Hello EditView World") }
}
struct ContentView: View {
@State var editMode: EditMode = .inactive
var body: some View {
NavigationView {
List {
Text("Testing EditMode")
ZStack {
if self.editMode == .active {
NavigationLink(destination: EditView()) {
Text("Go To Edit View")
.gesture(tapGesture)
}
.padding()
} else {
NavigationLink(destination: DetailView()) {
Text("Go To Detail View")
}
.padding()
}
}
}
.navigationBarTitle("EditMode Problem")
.navigationBarItems(trailing: EditButton())
.environment(\.editMode, $editMode)
}
}
var tapGesture: some Gesture {
TapGesture().onEnded{
print("Tap In Go To Detail View")
}
}
}
PlaygroundPage.current.setLiveView(ContentView())
Topic:
UI Frameworks
SubTopic:
SwiftUI
Tags: