粗略的在网上搜索了一下没有找到现成答案,就自己动手实现了一下。
实现思路:
先在网上查到赤橙黄绿青蓝紫的rgb值,观察规律,然后用循环实现。
赤 (255,0,0)
橙 (255,165,0)
黄 (255,255,0)
绿 (0,255,0)
青 (0,127,255)
蓝 (0,0,255)
紫 (139,0.255)
下面用OC实现一个创建彩虹渐变颜色数组的方法。
核心代码如下:
- (void)initRainbowColors{
_rainbowColors = [[NSMutableArray alloc]init];
int red = 255;
int green = 0;
int blue = 0;
//赤 - 橙 - 黄
while (green < 256) {
UIColor *rColor = [[UIColor alloc]initWithRed:red / 255.0 green:green /255.0 blue:blue /255.0 alpha:1.0];
[_rainbowColors addObject:rColor];
green += COLOR;
}
//黄 - 绿
while (red > 0) {
red -= COLOR;
UIColor *rColor = [[UIColor alloc]initWithRed:red / 255.0 green:green /255.0 blue:blue /255.0 alpha:1.0];
[_rainbowC