SwiftUI Weekly - Issue #222
The curated collection of links about SwiftUI. Delivered every Monday.
Streaming changes with Observations
Apple introduced the Observation framework a few years ago. The Observation framework became the main tool for building observable models, replacing the Combine framework. This week, we will talk about a new piece of the framework called Observations.
How to create a custom reusable toolbar in SwiftUI
When building navigation bars and toolbars in SwiftUI, we'll often want to keep the same look and functionality across multiple screens. Instead of copying and pasting the same toolbar code everywhere, we can abstract the toolbar into a reusable component.
Building a design system at Genius Scan
As an app’s code base grows and evolves, it can be really tricky to maintain consistency within its UI. It’s easy for things like margins and padding, or colors and fonts, to start diverging, as different developers might use different values within each individual UI component’s implementation. At the same time, UI code can also become increasingly complex, since new features might be designed and implemented completely from scratch, which often leads to a minimum amount of code reuse and duplicated engineering efforts.
Corner concentricity in SwiftUI on iOS 26
At WWDC 25, Apple talked a lot about corner concentricity in their new design system. The idea of concentric corners, rounded corners where the curved portions of the inner and outer shapes share the same center and create a visually consistent and nested appearance, was highlighted multiple times. They also showed how to create concentric shapes in SwiftUI in one of the WWDC sessions, but the API was missing from the early betas.
Perception 2.0: An updated back-port of Swift’s Observation framework
Today we are releasing a big update that brings many of the recent advancements in the Observation framework to Perception, and of course it is all back-ported to iOS 13+ and macOS 10.15+. Join us for a quick overview of what is new in Perception.