DeckKit
  • July 4, 2025

DeckKit is a SwiftUI library that makes it easy to create deck-based apps. It has a DeckView that can render any list of items, with support for swipe gestures, edge swipes, shuffling, etc.

DeckKit can be customized to great extent. You can change colors, fonts, etc. and use completely custom views. It also has tools to manage favorites.

Installation


DeckKit can be installed with the Swift Package Manager:

https://github.com/danielsaidi/DeckKit.git

Support My Work


Maintaining my various open-source tools takes significant time and effort. You can become a sponsor to help me dedicate more time to creating, maintaining, and improving these projects. Every contribution, no matter the size, makes a real difference in keeping these tools free and actively developed. Thank you for considering!

Getting started


With DeckKit, you can create a deck of cards with any type that conforms to Identifiable:

struct Hobby: Identifiable {

var name: String
var text: String

var id: String { name }
}

struct MyView: View {

@State
var hobbies: [Hobby] = …

var body: some View {
DeckView($hobbies) { hobby in
RoundedRectangle(cornerRadius: 25.0)
.fill(.blue)
.overlay(Text(hobby.name))
.shadow(radius: 10)
}
}
}

DeckKit has several view components for presenting decks, e.g. DeckView and DeckPageView.

See the online getting started guide for more information.

Documentation


 

The online documentation has more information, articles, code examples, etc.

GitHub


View Github

#ios #macos #swift #tvos
YOU MIGHT ALSO LIKE...
SwiftUI Charts

Build custom charts with SwiftUI Styles      

SwiftUICharts

A simple line and bar charting library that support accessibility written using SwiftUI.

Swipeable cards

Swipeable Cards with SwiftUI

RGStack

This UI attempts to capture the Quibi Card Stack and the associated User Interaction.

🃏 CardStack

A easy-to-use SwiftUI view for Tinder like cards on iOS, macOS & watchOS.