iOS用のカラーピッカー。
HSV色相環を表示し、指のドラッグ操作によって色を選択できるもの。
↓カラーピッカーの例(Xcode内のカラーピッカー) この例では、HSVのH(Hue: 色素)とS(Saturation: 彩度)は円で、V(Value: 明度)はスライダーで表現している。
上のようなカラーピッカーは、iOSのSDKには提供されていない。もし1から実装するならば、H(Hue: 色素)とS(Saturation: 彩度)の円の実装が大変だと思う。 そのため、その円を描画してドラッグ操作によって色を取得できるコンポーネントを、ライブラリとして実装したい。
問題と解決
- 赤青黄など大まかな色しか選択できない
→ HSV色相環によって、細かい色を選択できる - 直感的に色を選択したい
→ ドラッグ操作によって、直感的に色を選択できる - 色の各要素を指定して、色を選ぶのは面倒
→ ドラッグ操作によって、一度に色を選択できる
- EyreFree/EFColorPicker
- gizmosachin/ColorSlider
- RastislavMirek/FlexColorPicker
- joncardasis/ChromaColorPicker
- louisdh/huekit
似たようなライブラリの課題
- カラーピッカーが、View Controller(画面)単位で用意されていて、ライブラリ使用者がカスタマイズし辛い
- 画面単位で用意されている場合、カラーピッカーがコンポーネントとして利用できない
- カラーピッカーのインタラクションのアニメーションが、すでに実装されていて、ライブラリ使用者が、アニメーションのカスタマイズができない
自身で作成するライブラリの優位性(上記の課題の解決)
- カラーピッカーをコンポーネントとして実装することで、ライブラリ使用者が、カラーピッカーを自由に画面に組み込むことができる
- アニメーションの実装はせず、ライブラリ使用者がアニメーションのカスタマイズできるようにする
- HSVモデルは、人間から見て直感的に色を指定しやすいらしい
AppKit
では、カラーピッカーが提供されているため、実装や設計の参考になるかも