IOS中十六进制的颜色转换为UIColor
IOS中十六进制的颜色转换为UIColor
发布时间:2015-06-05 来源:查字典编辑
摘要:可用类别写一个方便使用+(UIColor*)colorWithHexString:(NSString*)color{NSString*cSt...

可用类别写一个 方便使用

+ (UIColor *) colorWithHexString: (NSString *)color

{

NSString *cString = [[colorstringByTrimmingCharactersInSet:[NSCharacterSetwhitespaceAndNewlineCharacterSet]] uppercaseString];

// String should be 6 or 8 characters

if ([cString length] <6) {

return [UIColorclearColor];

}

// strip 0X if it appears

if ([cString hasPrefix:@"0X"])

cString = [cStringsubstringFromIndex:2];

if ([cString hasPrefix:@"#"])

cString = [cStringsubstringFromIndex:1];

if ([cString length] !=6)

return [UIColorclearColor];

// Separate into r, g, b substrings

NSRange range;

range.location =0;

range.length =2;

//r

NSString *rString = [cString substringWithRange:range];

//g

range.location =2;

NSString *gString = [cString substringWithRange:range];

//b

range.location =4;

NSString *bString = [cString substringWithRange:range];

// Scan values

unsigned int r, g, b;

[[NSScannerscannerWithString:rString] scanHexInt:&r];

[[NSScannerscannerWithString:gString] scanHexInt:&g];

[[NSScannerscannerWithString:bString] scanHexInt:&b];

return [UIColorcolorWithRed:((float) r /255.0f) green:((float) g /255.0f) blue:((float) b /255.0f) alpha:1.0f];

}

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新IOS开发学习
热门IOS开发学习
编程开发子分类