Book Image

An iOS Developer's Guide to SwiftUI

By : Michele Fadda
Book Image

An iOS Developer's Guide to SwiftUI

By: Michele Fadda

Overview of this book

– SwiftUI transforms Apple Platform app development with intuitive Swift code for seamless UI design. – Explore SwiftUI's declarative programming: define what the app should look like and do, while the OS handles the heavy lifting. – Hands-on approach covers SwiftUI fundamentals and often-omitted parts in introductory guides. – Progress from creating views and modifiers to intricate, responsive UIs and advanced techniques for complex apps. – Focus on new features in asynchronous programming and architecture patterns for efficient, modern app design. – Learn UIKit and SwiftUI integration, plus how to run tests for SwiftUI applications. – Gain confidence to harness SwiftUI's full potential for building professional-grade apps across Apple devices.
Table of Contents (25 chapters)
Free Chapter
1
Part 1: Simple Views
5
Part 2: Scrollable Views
8
Part 3: SwiftUI Navigation
11
Part 4: Graphics and Animation
14
Part 5: App Architecture
17
Part 6: Beyond Basics

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...