SwiftUI lists and carousels
Rows and carousels with real behavior: custom swipe actions, a swipeable to-do row, a status timeline, a depth carousel and an infinite-scroll list.
About these pieces
One self-contained Swift file each, Apple frameworks only, from iOS 17.
Swipe Action Row wraps any row in a card with swipe actions drawn as solid blocks, a full swipe that arms with a haptic, and a shared binding that keeps one row open at a time. Task Row completes with a swipe right and a drawn check, snoozes or deletes with a swipe left, and reports reorder moves after a long-press lift.
Paged List is async/await infinite scroll done properly: it prefetches before the end, never runs two loads at once, drops duplicate ids, ignores stale responses, and keeps loaded rows when a page fails. Depth Carousel pages cards that recede as they leave center, and Status Timeline shows order or delivery progress with a live step that breathes.
Learn the technique: SwiftUI loading states guide, SwiftUI cards 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 add infinite scroll to a SwiftUI list?
Trigger the next page load from onAppear of a row a few items before the end, guard against concurrent loads, and de-duplicate by id. Paged List does this with skeleton rows, a retry chip and pull to refresh.
Can I use swipe actions outside a List in SwiftUI?
The built-in swipeActions modifier only works inside List. Swipe Action Row works in any ScrollView or VStack and draws its own actions.
Keep browsing
Nearby collections, then every category in the library.
- CardsCards with depth, motion, parallax and gesture-driven stacks.4
- NavigationFloating docks, tracking tabs and stretchy headers.3
- FeedbackReactions, ratings, status morphs, skeletons and outcomes.5
- TextType that reveals, expands and renders as glass.3
- BackgroundsQuiet atmospheres: a Metal silk shader and a touch-reactive dot grid.2
- Liquid GlassCorrect iOS 26 Liquid Glass with Material fallbacks.3
- Buttons and controlsButtons and dials with press depth, hold, drag and outcome states.5
- Inputs and formsTracks, steppers, rails and fields built for the thumb.9
- SheetsToasts, confirmations and permission moments.3
- MotionGesture modifiers with real physics.1
- Data and chartsScrubbable charts, rings, live stats and odometers.4
- AIStreaming replies, thinking states, prompt chips and code.6
- MediaPhoto viewing and story playback.2
- AnimationsSprings, gesture physics, transitions and morphs, across every category.16
- HapticsPieces that tick, tap and confirm at the moment that matters.19
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.