Summary
In this chapter, we have examined stack-based navigation in SwiftUI, illustrating the old approaches based on NavigationView
, which are still useful on iOS versions prior to 16, and the new StackView
and .navigationDestination
approaches, which allow for a completely flexible approach to iOS navigation, to the point of rendering many of the navigation tricks and patterns used in UIKit totally unnecessary and obsolete.
We have also shown how to use NavigationSplitView
on large screens to achieve the functionality of the old UISplitView
, and we have shown that this can be used to automatically adapt the rendering of the navigation appropriately and automatically depending on the screen size of the device.
We have finally concluded by showing how the navigation stack can be manipulated programmatically in an arbitrary fashion using NavigationPath
, and showing one of the simplest possible strategies for saving and restoring it programmatically using the JSON format.
In...