Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/danielsaidi/deckkit
DeckKit is a Swift SDK that helps you build deck-based apps in SwiftUI.
https://github.com/danielsaidi/deckkit
ios macos swift swiftui tvos visionos watchos
Last synced: 4 days ago
JSON representation
DeckKit is a Swift SDK that helps you build deck-based apps in SwiftUI.
- Host: GitHub
- URL: https://github.com/danielsaidi/deckkit
- Owner: danielsaidi
- License: mit
- Created: 2020-08-31T05:51:52.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-05-06T08:16:00.000Z (9 months ago)
- Last Synced: 2024-05-13T14:09:19.553Z (8 months ago)
- Topics: ios, macos, swift, swiftui, tvos, visionos, watchos
- Language: Swift
- Homepage:
- Size: 13.3 MB
- Stars: 566
- Watchers: 8
- Forks: 14
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
## About DeckKit
DeckKit is a SwiftUI SDK that helps you build deck-based apps.
DeckKit has a `DeckView` component that can render any ``DeckItem`` collection, with support for swipe gestures, edge swipes, shuffling, etc. The result can look like this, or completely different:
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 any model that conform to `DeckItem`:
```swift
struct Hobby: DeckItem {
var name: String
var text: Stringvar id: String { name }
}
```You can display a deck of cards with any of the built-in views, like a `DeckView`:
```swift
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)
}
}
}
```See the online [getting started guide][Getting-Started] for more information.
## Documentation
The online [documentation][Documentation] has more information, articles, code examples, etc.
## Demo Application
The `Demo` folder has an app that lets you test the library on iOS, macOS, and visionOS.
## Support my work
You can [sponsor me][Sponsors] on GitHub Sponsors or [reach out][Email] for paid support, to help support my [open-source projects][OpenSource].
Your support makes it possible for me to put more work into these projects and make them the best they can be.
## Contact
Feel free to reach out if you have questions or if you want to contribute in any way:
* Website: [danielsaidi.com][Website]
* Mastodon: [@[email protected]][Mastodon]
* Twitter: [@danielsaidi][Twitter]
* E-mail: [[email protected]][Email]## License
DeckKit is available under the MIT license. See the [LICENSE][License] file for more info.
[Email]: mailto:[email protected]
[Website]: https://www.danielsaidi.com
[GitHub]: https://www.github.com/danielsaidi
[Twitter]: https://www.twitter.com/danielsaidi
[Mastodon]: https://mastodon.social/@danielsaidi
[Sponsors]: https://github.com/sponsors/danielsaidi
[OpenSource]: https://www.danielsaidi.com/opensource[Documentation]: https://danielsaidi.github.io/DeckKit/
[Getting-Started]: https://danielsaidi.github.io/DeckKit/documentation/deckkit/getting-started
[License]: https://github.com/danielsaidi/DeckKit/blob/master/LICENSE