Book Image

SwiftUI Projects

By : Craig Clayton
Book Image

SwiftUI Projects

By: Craig Clayton

Overview of this book

Released by Apple during WWDC 2019, SwiftUI provides an innovative and exceptionally simple way to build user interfaces for all Apple platforms with the power of Swift. This practical guide involves six real-world projects built from scratch, with two projects each for iPhone, iPad, and watchOS, built using Swift programming and Xcode. Starting with the basics of SwiftUI, you’ll gradually delve into building these projects. You’ll learn the fundamental concepts of SwiftUI by working with views, layouts, and dynamic types. This SwiftUI book will also help you get hands-on with declarative programming for building apps that can run on multiple platforms. Throughout the book, you’ll work on a chart app (watchOS), NBA draft app (watchOS), financial app (iPhone), Tesla form app (iPhone), sports news app (iPad), and shoe point-of-sale system (iPad), which will enable you to understand the core elements of a SwiftUI project. By the end of the book, you’ll have built fully functional projects for multiple platforms and gained the knowledge required to become a professional SwiftUI developer.
Table of Contents (13 chapters)

The form view

To wrap up the main view, we need to work on the bottom section, which contains the form. You will learn how to customize a generic form. Since SwiftUI is new, we will not be able to customize our form using only SwiftUI. SwiftUI forms are built on top of UITableView, so a lot of our customizations will be made to the table view itself. Let's get started by opening FormView, and before we get started, you will notice this:

@ObservedObject var order = OrderViewModel()

You will see this in a few files throughout this chapter. I have added some basic defaults for this file in OrderViewModel.swift that we will use to get our form working and some other logic we need in this app. This file and the default values are not necessary. We are only using it for prototyping and nothing more. In Chapter 5, Car Order FormData, we will rewrite this code. For now, we are going to just focus on design in this chapter.

Creating the form sections

  1. Inside FormView...