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

Direct navigation stack manipulation with NavigationPath

In the following example, we will demonstrate that NavigationPath is essentially a type-erased collection, by appending directly to the stack and directly removing items from the stack. With the buttons labeled Jump to, we will add a corresponding number of Int items to the stack, forcing navigation to the corresponding last view. We can navigate back, as usual, to the preceding item on the stack, until we reach the root, our home view. Or instead, we can click the button labeled Go Back Directly to Home to remove all the preceding items from the stack.

We also show a simpler navigation for items shown as a list. For those, we use String as a type, and we use NavigationLink with a value, thus pushing just one element on the stack. If we use navpath.removeLast(), that will have the same effect of navigating to the previous view with the back button. Here is our code example:

import SwiftUI
struct ContentView: View {
 ...