项目中经常会用到颜色转换,有的是通过十六进制转成数字转颜色,想简单的点直接通过字符串转一下,简单扩展了一下分类UIColor,代码如下:
+(UIColor *)colorWithHex:(NSString *)hexColor{ return [self colorWithHex:hexColor alpha:1.0f]; } //http://www.cnblogs.com/xiaofeixiang iOS技术交流:228407086 +(UIColor *)colorWithHex:(NSString *)hexColor alpha:(float)alpha{ //删除空格 NSString *colorStr = [[hexColor stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]] uppercaseString]; // String should be 6 or 8 characters if ([colorStr length] < 6||[colorStr length]>7) { return [UIColor clearColor]; } // if ([colorStr hasPrefix:@"#"]) { colorStr = [colorStr substringFromIndex:1]; } NSRange range; range.location = 0; range.length = 2; //red NSString *redString = [colorStr substringWithRange:range]; //green range.location = 2; NSString *greenString = [colorStr substringWithRange:range]; //blue range.location = 4; NSString *blueString= [colorStr substringWithRange:range]; // Scan values unsigned int red, green, blue; [[NSScanner scannerWithString:redString] scanHexInt:&red]; [[NSScanner scannerWithString:greenString] scanHexInt:&green]; [[NSScanner scannerWithString:blueString] scanHexInt:&blue]; return [UIColor colorWithRed:((float)red/ 255.0f) green:((float)green/ 255.0f) blue:((float)blue/ 255.0f) alpha:alpha]; }