Book Image

Elevate SwiftUI Skills by Building Projects

By : Frahaan Hussain
Book Image

Elevate SwiftUI Skills by Building Projects

By: Frahaan Hussain

Overview of this book

Elevate SwiftUI Skills by Building Projects helps you harness the cutting-edge potential of SwiftUI and its innovative and user-friendly approach to crafting user interfaces for Apple platforms with the power of Swift. This book will enhance your UI programming skills with SwiftUI through a project-based methodology, guiding you to create four real-world projects. Starting with a quick recap of Swift and SwiftUI, you’ll gradually develop projects tailored for iPhone, iPad, macOS, and watchOS using Swift and Xcode. You’ll experience SwiftUI’s versatility in action as you build a tax calculator for iPhone and a photo gallery for the iPad, which uses a larger display to enhance the viewing experience. You’ll also create an app store for Mac and, finally, get to grips with the power of SwiftUI for smaller devices such as the Apple Watch by designing a Fitness Companion app. By the end of this book, you'll have built fully functional projects across multiple platforms and gained the expertise needed to excel as a professional SwiftUI developer.
Table of Contents (12 chapters)

Navigating from ContentView to ResultsView

In this section, we will finally implement the navigational system for moving from ContentView to ResultsView and back again.

If you recall back to the previous chapter, when viewing the UI for the ResultsView, we were forced to use the Live Preview Window instead of running the application. The reason was that there was no functionality for navigating from ContentView to ResultsView. We have already added the button for calculating the tax, but we need to implement the code for the button triggering the navigation.

First, we need to wrap our VStack in ContentView in a NavigationView. The NavigationView allows us to present a stack of views which is very useful for navigation, as it effectively has a history of all previous views, allowing an easy and extendable navigation system:

import SwiftUIstruct ContentView: View
{
    @State private var salary: String = ""
    var body: some...