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

Displaying grids in iOS

You already know how to display grids in SwiftUI in the simplest way possible, and in the only way this was achievable with the first versions of SwiftUI. Of course, you can place a horizontal stack containing a row inside a vertical stack or you could place multiple HStack instances inside List.

This is more or less the same, historically, as what happened with UIKit before the introduction of UICollectionView, you had to simulate them with UITableViewCell and UITableViewController or use UITableView yourself directly (usually not recommended).

If you wanted it to scroll horizontally a UITableView, you could do a crazy trick by rotating UITableView by 90 degrees or (better) program UIScrollView to instantiate its contents on the fly, taking memory allocation into your own hands. It was possible, but it was not a walk in the park. And we won’t include an example here, because that is a bad practice you should carefully avoid learning and practicing...