【发布时间】:2015-11-27 09:34:39
【问题描述】:
我正在尝试创建用户可以使用的颜色选择器工具。颜色选择器有一个所有颜色的滑块和一个额外的滑块来设置颜色的深浅。两者都显示在图 1 和图 2 中:
图片 1:选择颜色:
图 2:设置颜色的深浅程度
我知道我可以为滑块使用自定义图像,而不是将每种颜色与一个位置匹配,这意味着我需要创建巨大的数组并且工作量很大。设置颜色深浅的第二个滑块仍需要在运行时计算。我怀疑这种方法有什么好处,因此问你是否对如何解决这个问题有更好的想法。也许一个将颜色与滑块位置联系起来的数学函数,color(x),其中 x 是滑块的位置,可以解决问题。那么如何根据位置创建颜色并根据这个数学函数创建滑块呢?
【问题讨论】:
-
我没有计算颜色亮度,但我建议你使用
UIColor方法+ (UIColor *)colorWithHue:(CGFloat)hue saturation:(CGFloat)saturation brightness:(CGFloat)brightness alpha:(CGFloat)alpha;并在滑块移动时更改brightness。 -
是否可以基于 value (UIColor* colorWithHue....) 方法创建一个滑块来直观地表示颜色的外观?
-
我只是想看看这里有什么问题。您正在询问如何渲染滑块图像,以便它们是动态的并且可以根据用户的操作进行更改。您不是在问如何从滑块创建 UIColor 吗?
-
基本上我正在尝试创建一个带有静态图像的滑块。用户然后移动滑块箭头,UIView 根据滑块中选择的颜色更改颜色。第二个滑块颜色(仅设置亮度的颜色)将根据第一个滑块中选择的颜色动态变化。
标签: ios objective-c uislider uicolor cgcolorspace