DeckKit
Create deck-based apps in SwiftUI.
Install / Use
/learn @danielsaidi/DeckKitREADME
DeckKit
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
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.
Demo Application
The Demo folder has an app that lets you explore the library on iOS, macOS, and visionOS.
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!
Contact
Feel free to reach out if you have questions or want to contribute in any way:
- Website: danielsaidi.com
- E-mail: daniel.saidi@gmail.com
- Bluesky: @danielsaidi@bsky.social
- Mastodon: @danielsaidi@mastodon.social
License
DeckKit is available under the MIT license. See the LICENSE file for more info.
Related Skills
node-connect
343.1kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
90.0kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
343.1kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
343.1kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
