Sitemap

Member-only story

SwiftUI Navigation With Dismissible

Learn how dismissible views unlock core navigation features in Navigator and SwiftUI.

6 min readMar 14, 2025

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.

Dismissible Views

--

--

Michael Long
Michael Long

Written by Michael Long

I write about Apple, Swift, and SwiftUI in particular, and technology in general. I'm also a Lead iOS Engineer at InRhythm, a modern digital consulting firm.

Responses (3)