Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hbang/Alderis
A fresh new color picker, with a gentle, fun, and dead simple user interface.
https://github.com/hbang/Alderis
color-picker ios swift
Last synced: 3 months ago
JSON representation
A fresh new color picker, with a gentle, fun, and dead simple user interface.
- Host: GitHub
- URL: https://github.com/hbang/Alderis
- Owner: hbang
- License: apache-2.0
- Created: 2020-03-17T14:48:56.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2023-05-23T00:50:03.000Z (over 1 year ago)
- Last Synced: 2024-07-19T04:34:16.679Z (4 months ago)
- Topics: color-picker, ios, swift
- Language: Swift
- Homepage: https://hbang.github.io/Alderis/
- Size: 18.5 MB
- Stars: 235
- Watchers: 13
- Forks: 34
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# ![Alderis Color Picker](screenshots/logo.jpg)
**Try it yourself: `pod try Alderis`**
Alderis is a fresh new color picker, with a gentle, fun, and dead simple user interface. It aims to incorporate the usual elements of a color picker, in a way that users will find easy and fun to use.
The user can start by selecting a color they like on the initial color palette tab, and either accept it, or refine it using the color wheel and adjustment sliders found on the two other tabs.
Alderis is named for the Alderamin (Alpha) star in the Cepheus (Cephei) constellation. (There is no dependency on the [Cephei](https://hbang.github.io/libcephei/) project.)
**[Documentation](https://hbang.github.io/Alderis/)**
## Why do I want this? Isn’t there already a color picker in iOS?
Alderis was [originally released](https://twitter.com/hbkirb/status/1239332547437326337) before iOS 14 was unveiled with a built-in [color picker](https://developer.apple.com/design/human-interface-guidelines/ios/controls/color-wells/) feature, which seems to be heavily inspired by Alderis. However, rather than throw in the towel here, I’m considering this an opportunity to continue building what I feel is a better, less cluttered user experience, with more configuration options for apps to fine-tune a color picker UI suitable for each use case and target market.If this doesn’t seem important to you, the answer is simple: skip Alderis and use [UIColorPickerViewController](https://developer.apple.com/documentation/uikit/uicolorpickerviewcontroller). If it does, read on.
### Feature Comparison
Alderis UIKit
Minimal UI ✔️ ✖️
Drag and drop colors within app ✔️ ✔️ *
Drag and drop colors across apps ✔️ ✖️
Color grid ✔️ ✔️
Color spectrum/wheel ✔️ ✔️
RGB sliders ✔️ ✔️
HSB sliders ✔️ ✖️
Grayscale slider ✔️ ✖️
Opacity slider ✔️ ✔️
Hex color code support ✔️ ✔️
Color space support (Display P3) ✖️ ✔️
Save favorite colors ✖️ ✔️
Saved colors shared across apps ✖️ ✔️
Grab color from screen (eyedropper) ✖️ ✔️
Customise title label ✔️ ✖️
Customise tab row visibility ✔️ ✖️
Customise visible tabs ✔️ ✖️
Customise initially selected tab ✔️ ✖️
Customise opacity slider visibility ✔️ ✔️
Customise color grid ✖️ ✖️
Interface Builder support ✖️ ✖️
SwiftUI support w/o UIKit bridging ✖️ ✖️
Observe value change with KVO ✖️ ✔️\* UIColorWell supports dragging colors *onto* it, but not *out* of it. Alderis supports both directions, which are separately configurable. The default Alderis ColorWell behavior matches UIColorWell. Alderis supports drag and drop on the color picker window; UIKit does not.
## Installation
### CocoaPods
Add to your Podfile:```ruby
pod 'Alderis', '~> 1.2.0'
```And then run `pod install`.
### Carthage
Add to your Cartfile:```ruby
github 'hbang/Alderis' ~> 1.2.0
```And then run `carthage update`.
### Swift Package Manager
1. Click File → Swift Packages → Add Package Dependency.
2. Enter `http://github.com/hbang/Alderis.git`.
3. Specify `1.2` as the version filter.Or, manually add it to your Package.swift:
```swift
dependencies: [
.package(url: "http://github.com/hbang/Alderis.git", from: "1.2.0")
]
```And then run `swift package update`.
### Jailbreak packages
Add `ws.hbang.alderis (>= 1.2)` to your `Depends:` list.#### Preference Bundles and libcolorpicker Compatibility
Alderis acts as a drop-in replacement for [libcolorpicker](https://github.com/atomikpanda/libcolorpicker), an abandoned but still very popular color picker library on jailbroken iOS. Packages can simply change their dependencies list to replace `org.thebigboss.libcolorpicker` with `ws.hbang.alderis (>= 1.2)` to switch their color picker to Alderis. No other changes required!For more information, refer to [the docs](https://hbang.github.io/Alderis/preference-bundles.html).
## License
Licensed under the Apache License, version 2.0. Refer to [LICENSE.md](https://github.com/hbang/Alderis/blob/main/LICENSE.md).Header backdrop photo credit: [John-Mark Smith](https://unsplash.com/@mrrrk_smith) on Unsplash