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)

Prototyping our app with boxes

Now, we are going to do something a bit different. When working on this app for the book, I found that before creating each view, it was easier to create each section represented by a simple box. When I first built the app, I did not use this approach and I had to go back and redo each one. I find this approach helps with understanding how the iPad works with each size. In the project settings, I disabled portrait mode, but the app will work just fine if you want to enable it. Before we start adding our boxes, let's create our HeaderView so that we can see each section with their titles.


We are going to work on the header view, but before we code, let's take a minute and look at the design:

Figure 10.4

One thing to note is that our headers sometimes say VIEW ALL and sometimes they don't. Let's make our HeaderView work so that we can hide and show the VIEW ALL button.

Open HeaderView, which...