About these pieces

One self-contained Swift file each, Apple frameworks only, from iOS 17.

Floating Dock is a custom tab bar on a solid surface: the selected item becomes a block with its label, a drag across the dock lifts each item with a name bubble, badges count in a pill, and the dock tucks away on scroll. Tracking Tabs sit over a paging ScrollView and move their indicator with fractional scroll progress, so it follows your finger rather than jumping.

Stretch Header is a hero header for your own ScrollView and NavigationStack: it stretches on overscroll, shrinks its title toward the real navigation bar, and pins a stat row under the bar as a solid bar fades in.

Learn the technique: SwiftUI animations guide.

Questions

How the pieces work, and how to build the same thing yourself. Every piece's page has its full notes.

How do I make a custom tab bar in SwiftUI?

Hide the system tab bar or drive your own selection state, then overlay a bar at the bottom safe area. Floating Dock is a complete custom tab bar with selection, badges, drag-to-select and hide on scroll.

How do I make a stretchy header in SwiftUI?

Read the scroll offset of the header with onGeometryChange or a GeometryReader, grow its height and scale on negative offsets, and offset it to stay pinned. Stretch Header does this and hands the title off to the navigation bar.

Next

Ready to build something better?

55 pieces, one file each, yours to keep. Start with the library or see what the whole app looks like.