我如何创建一个渐变条,以便当我平移它时我可以改变颜色?
我可以轻松添加UIPanGestureRecognizer
并在UIView
内进行一些翻译,但如何更正UIColor
的RGB值?
答案 0 :(得分:2)
我会使用HSB,而不是使用RGB颜色。只需根据滑动更改色调。
如果您将屏幕顶部视为0.0而底部视为1.0,则当用户从上到下滑动手指时,颜色应通过它的全光谱。然后
CGFloat percentTranslation = currentY / self.view.bounds.size.height;
[UIColor colorWithHue:percentTranslation saturation:1.0 brightness:1.0 alpha:1.0]
答案 1 :(得分:1)
我以前做过这件事。毫无疑问,最简单的方法是创建一个png图像并使用它。
您可以计算每像素颜色,但只需使用图像就可以快得多。
事实上。我创建了一个全彩色选择器,您可以在我的应用https://itunes.apple.com/gb/app/game-of-life/id477039315?mt=8
中看到第二个屏幕截图中的颜色条只是一个png。并且颜色方块使用透明图像,从底部到顶部具有黑色透明渐变,从左到右具有白色透明渐变。
当我在条形图上选择颜色时,我所做的就是设置图像视图的背景颜色。