摘要:本文将带你了解iOS开发之IOS随机生成不同色值方法,希望本文对大家学IOS有所帮助。
常用封装
iOS 宏定义_16进制色值转化为RGB返回UIColor类型对象
// 十六进制颜色#define COLOR_WITH_HEX(hexValue) [UIColor colorWithRed:((float)((hexValue & 0xFF0000) >> 16)) / 255.0 green:((float)((hexValue & 0xFF00) >> 8)) / 255.0 blue:((float)(hexValue & 0xFF)) / 255.0 alpha:1.0f]// 调用UIColor *redColor = COLOR_WITH_HEX(0xe4e5e5);
生成不同色值方法封装
/**
* 生成不同颜色的方法
*
* @param count 需要生成的颜色数
*
* @return 所有生成的颜色
*/- (NSMutableArray *)getAllColors:(int)count
{ NSMutableArray *myColors = [NSMutableArray array];
[myColors addObject:BXColor(192, 255, 140)];
[myColors addObject:BXColor(255, 247, 140)]; int startColor = 0xdddddd; int endColor = 0xff111111; int step = (startColor-endColor)/(count+3); int hexValue; for (int i = count-1; i>=0; i--) {
hexValue = 0xff000000 | (int)(endColor+step*i);
UIColor *resultColor = [UIColor colorWithRed:((float)((hexValue & 0xFF0000) >> 16)) / 255.0 green:((float)((hexValue & 0xFF00) >> 8)) / 255.0 blue:((float)(hexValue & 0xFF)) / 255.0 alpha:1.0f];
[myColors addObject:resultColor];
} return myColors;
}
十六进制的颜色值直接转为ios可用的UIColor
//////////////////////////// @interface UIColor (extension)
+ (UIColor*) colorWithHex:(NSInteger)hexValue alpha:(CGFloat)alphaValue;
+ (UIColor*) colorWithHex:(NSInteger)hexValue;
+ (NSString *) hexFromUIColor: (UIColor*) color;
@end
@implementation UIColor (extension)
+ (UIColor*) colorWithHex:(NSInteger)hexValue alpha:(CGFloat)alphaValue
{
return [UIColor colorWithRed:((float)((hexValue & 0xFF0000) >> 16))/255.0
green:((float)((hexValue & 0xFF00) >> 8))/255.0
blue:((float)(hexValue & 0xFF))/255.0 alpha:alphaValue];
}
+ (UIColor*) colorWithHex:(NSInteger)hexValue
{
return [UIColor colorWithHex:hexValue alpha:1.0];
}
+ (NSString *) hexFromUIColor: (UIColor*) color {
if (CGColorGetNumberOfComponents(color.CGColor) < 4) {
const CGFloat *components = CGColorGetComponents(color.CGColor);
color = [UIColor colorWithRed:components[0]
green:components[0]
blue:components[0]
alpha:components[1]];
}
if (CGColorSpaceGetModel(CGColorGetColorSpace(color.CGColor)) != kCGColorSpaceModelRGB) {
return [NSString stringWithFormat:@"#FFFFFF"];
}
return [NSString stringWithFormat:@"#%x%x%x", (int)((CGColorGetComponents(color.CGColor))[0]*255.0),
(int)((CGColorGetComponents(color.CGColor))[1]*255.0),
(int)((CGColorGetComponents(color.CGColor))[2]*255.0)];
}
@end
安卓版生成方法
/**
* 如果传过来的参数一样,那么生成的颜色色值一样。(源于随机生成颜色方法)
* @param size
* @return
*/
public static ArrayList
ArrayList
colorList.add(Color.rgb(192, 255, 140));
colorList.add(Color.rgb(255, 247, 140));
colorList.add(Color.rgb(255, 208, 140));
colorList.add(Color.rgb(140, 234, 255));
colorList.add(Color.rgb(255, 140, 157));
colorList.add(Color.rgb(193, 37, 82));
colorList.add(Color.rgb(255, 102, 0));
colorList.add(Color.rgb(245, 199, 0));
colorList.add(Color.rgb(106, 150, 31));
colorList.add(Color.rgb(179, 100, 53)); int startColor = 0xdddddd; int endColor = 0xff111111; int step = (startColor-endColor)/(size+3); int ranColor; for (int i=size-1;i>=0;i--){
ranColor = 0xff000000 | (int)(endColor+(step)*i);
colorList.add(ranColor);
}
LogUtil.d(TAG,colorList+""); return colorList;
}
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标移动开发之IOS频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号