Book Image

SwiftUI Cookbook - Third Edition

By : Juan C. Catalan
5 (1)
Book Image

SwiftUI Cookbook - Third Edition

5 (1)
By: Juan C. Catalan

Overview of this book

SwiftUI is the modern way to build user interfaces for iOS, macOS, and watchOS. It provides a declarative and intuitive way to create beautiful and interactive user interfaces. The new edition of this comprehensive cookbook includes a fully updated repository for SwiftUI 5, iOS 17, Xcode 15, and Swift 5.9. With this arsenal, it teaches you everything you need to know to build beautiful and interactive user interfaces with SwiftUI 5, from the basics to advanced topics like custom modifiers, animations, and state management. In this new edition, you will dive into the world of creating powerful data visualizations with a new chapter on Swift Charts and how to seamlessly integrate charts into your SwiftUI apps. Further, you will be able to unleash your creativity with advanced controls, including multi-column tables and two-dimensional layouts. You can explore new modifiers for text, images, and shapes that give you more control over the appearance of your views. You will learn how to develop apps for multiple platforms, including iOS, macOS, watchOS, and more. With expert insights, real-world examples, and a recipe-based approach, you’ll be equipped to build remarkable SwiftUI apps that stand out in today’s competitive market.
Table of Contents (20 chapters)
18
Other Books You May Enjoy
19
Index

Using @State to drive a View's behavior

As we mentioned in the introduction, when a state variable belongs only to a single view, its changes are bound to the components using the @State property wrapper.To understand this behavior, we are going to implement a simple to-do list app, where a static set of to-dos are changed to done when we tap on the row.In the next recipe, Using @Binding to pass a state variable to child Views, we'll expand on this recipe, adding the possibility of adding new to-dos.

Getting ready

Let's start this recipe by creating a SwiftUI app called StaticTodoList.

How to do it…

To demonstrate the use of the @State variable, we are going to create an app that holds its state in a list of Todo structs: each Todo can be either undone or done, and we can change its state by tapping on the related row.When the user taps on one row in the UI, they change the done state in the related Todo struct:

  1. Let's start by adding the basic Todo struct...