Book Image

An iOS Developer's Guide to SwiftUI

By : Michele Fadda
Book Image

An iOS Developer's Guide to SwiftUI

By: Michele Fadda

Overview of this book

– SwiftUI transforms Apple Platform app development with intuitive Swift code for seamless UI design. – Explore SwiftUI's declarative programming: define what the app should look like and do, while the OS handles the heavy lifting. – Hands-on approach covers SwiftUI fundamentals and often-omitted parts in introductory guides. – Progress from creating views and modifiers to intricate, responsive UIs and advanced techniques for complex apps. – Focus on new features in asynchronous programming and architecture patterns for efficient, modern app design. – Learn UIKit and SwiftUI integration, plus how to run tests for SwiftUI applications. – Gain confidence to harness SwiftUI's full potential for building professional-grade apps across Apple devices.
Table of Contents (25 chapters)
Free Chapter
1
Part 1: Simple Views
5
Part 2: Scrollable Views
8
Part 3: SwiftUI Navigation
11
Part 4: Graphics and Animation
14
Part 5: App Architecture
17
Part 6: Beyond Basics

Creating custom modifiers

Whenever we need to style multiple screens with a similar look, which we can obtain by applying several modifiers, we usually don’t want to apply the modifiers to all the views we have to design.

We would want to just apply a single modifier, to a view or another modifier, producing all the changes we need simultaneously.

We could, of course, design a single view and repeat it through the entirety of our application, but let’s imagine that the views are different, with different content, but we would still like to style all of them in a similar way, without repeating code.

In SwiftUI, we can create custom modifiers to encapsulate styling or behavior across an entire app. Remember that SwiftUI takes a functional approach – modifiers are composable and can be applied to a view or another modifier, producing a new version of the original input value.

In order to create a custom modifier, you just need to conform to the ViewModifier...