Member-only story
SwiftUI Navigation With Dismissible
Learn how dismissible views unlock core navigation features in Navigator and SwiftUI.
As with my earlier article on checkpoints, from this point on I’m going to be referencing my new open source library Navigator and how it solves many of the problems inherent in SwiftUI navigation.
And in this case it’s view dismissal.
How does a presented view dismiss itself? How does a parent view dismiss its children when needed?
Well, that’s usually done by passing bindings or closures down the tree, but what if we don’t have access to the state that triggered the original presentation?
And what about deep-linking? Linking to a known location an application is easy when an application is launched, but what if the application’s been running for a while? What if the user’s presented a sheet or fullscreen cover view and is in the middle of doing something else?
How do you return to a known state in the application?
And what if I want to *prevent* such things from happening if, say, I’m in the middle of a banking transaction?
All of these problems are solved in Navigator by using managed dismissible views.