我试图创建一个颜色选择工具,用户可以使用。颜色选择器有一个所有颜色的滑块和额外的滑块来设置颜色有多深。两者均如图1和2所示:
图像1:选择颜色:

图像2:设置暗颜色

我知道我可以用一个自定义的图像作为滑块,而不是将每种颜色与一个位置相匹配,这意味着我需要创建巨大的数组,这需要大量的工作。设置暗颜色的第二个滑块仍然需要在运行时进行计算。我怀疑这种方法是否有用,因此问你是否对如何解决这个问题有更好的想法。也许一个将颜色和滑块位置联系起来的数学函数,颜色(X),其中x是滑块的位置,就能做到这一点。那么,如何创建一个颜色作为一个函数的位置,并创建一个滑块基于这个数学函数?
发布于 2015-11-27 11:24:19
你需要一个不少于三个滑块,它们可以是RGB或HSB滑块。然后可以直接从以下方法生成当前颜色:
为RGB
[UIColor colorWithRed:slider1.value
Green:slider2.value
Blue:slider3.value
alpha:1.0];为HSB
[UIColor colorWithHue:slider1.value
saturation:slider2.value
brightness:slider3.value
alpha:1.0];对于动态设置滑块的背景梯度,可以通过改变其值来获得每一个滑块的梯度。
例如,如果H:0.2 S:0.6 B:0.5是当前的滑块位置,那么梯度将是-
Slider1 : H:__0.0 S:0.6 B:0.5 to H:__1.0 S:0.6 B:0.5
Slider2 : H:0.2 S:__0.0 B:0.5至H:0.2 S:__1.0 B:0.5
Slider3 : H:0.2 S:0.6 B:__0.0至H:0.2 S:0.6 B:__1.0
或
如果你想走简单的路,外面有很多图书馆。有关例如,请参见这
https://stackoverflow.com/questions/33954319
复制相似问题