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)

Implementing Extra Features

Even though for the scope of this project we are done with the SideBar, I would like to show you how to implement events for pressing Enter on the SearchBar and how to make the SideBar labels clickable.

SearchBar Enter Event

We want the user to be able to press Enter when they have selected SearchBar and trigger an event. This event could pull up a list of results in a context menu or new page. Feel free to implement this as an extra task.

The code to achieve this is super simple. Add the following after the .searchable code:

}.searchable( text: $searchText )    .onSubmit( of: .search )
        print( searchText )

When the user has submitted the search, the code inside of the parentheses will run. For testing, we are printing out the searchText variable, which will print out what you type in it. Feel free to run it.