// Shorts

One SwiftUI concept at a time

Modern SwiftUI APIs explained in about two minutes each — what problem it solves, working code, and the trap you'll hit the first time you use it.

20 shorts

iOS 16+

1

iOS 17+

12
012 min

@Observable: State Without the Boilerplate

The @Observable macro replaces @Published and ObservableObject with less code and smarter view invalidation.

swiftuiios17
022 min

@Bindable: Two-Way Bindings Into @Observable

@Bindable unlocks two-way SwiftUI bindings into an @Observable class without giving up single ownership.

swiftuiios17
042 min

ContentUnavailableView: The Empty State You Don't Have to Build

ContentUnavailableView gives every app the same polished empty state and no-search-results screen for free.

swiftuiios17
052 min

.inspector: One Modifier, Every Platform's Detail Pane

The .inspector modifier adds a trailing detail pane that adapts automatically across iPhone, iPad, and Mac.

swiftuiios17
062 min

scrollTargetBehavior: Snapping Carousels, No UIKit

Build a paging, view-aligned carousel with plain SwiftUI — no UICollectionView, no compositional layout.

swiftuiios17
072 min

scrollPosition(id:): Reading and Driving Scroll Position

A two-way binding to the currently scrolled item — jump to content and observe scroll position with one API.

swiftuiios17
082 min

containerRelativeFrame: Sizing Children as a Fraction of Their Container

Size a view as a percentage of its scroll view or container without a GeometryReader in sight.

swiftuiios17
092 min

scrollTransition: Per-Item Effects Driven by Scroll Phase

Scale and fade carousel items as they enter and leave the viewport, without measuring frames yourself.

swiftuiios17
112 min

phaseAnimator: Multi-Step Animation in One Modifier

Sequence a bump, settle, and rest animation without chaining withAnimation calls or DispatchQueue delays.

swiftuiios17
122 min

KeyframeAnimator: Independent Timelines Per Property

Animate scale, offset, and rotation on their own timelines with keyframeAnimator, instead of one shared curve.

swiftuiios17
132 min

symbolEffect: Native Animation for SF Symbols

Bounce, pulse, and morph SF Symbols with built-in effects instead of hand-rolled scale and crossfade tricks.

swiftuiios17
152 min

visualEffect: Geometry-Driven Effects, No GeometryReader

Scale scroll-carousel cards by their position using visualEffect, without wrapping each card in a GeometryReader.

swiftuiios17

iOS 18+

5

iOS 26+

2