UI界面的开发少不了各种颜色的 搭配,而系统的颜色使用 很有限,很多时候我们需要 自己通过各种色值设置颜色,例如:hexString 、RGB 等。
话不多说,直接上代码:
//系统预设好的颜色
self.view.backgroundColor= [UIColor redColor];
+ (UIColor*)blackColor;// 0.0 white
+ (UIColor*)darkGrayColor;// 0.333 white
+ (UIColor*)lightGrayColor;// 0.667 white
+ (UIColor*)whiteColor;// 1.0 white
+ (UIColor*)grayColor;// 0.5 white
+ (UIColor*)redColor;// 1.0, 0.0, 0.0 RGB
+ (UIColor*)greenColor;// 0.0, 1.0, 0.0 RGB
+ (UIColor*)blueColor;// 0.0, 0.0, 1.0 RGB
+ (UIColor*)cyanColor;// 0.0, 1.0, 1.0 RGB
+ (UIColor*)yellowColor;// 1.0, 1.0, 0.0 RGB
+ (UIColor*)magentaColor;// 1.0, 0.0, 1.0 RGB
+ (UIColor*)orangeColor;// 1.0, 0.5, 0.0 RGB
+ (UIColor*)purpleColor;// 0.5, 0.0, 0.5 RGB
+ (UIColor*)brownColor;// 0.6, 0.4, 0.2 RGB
+ (UIColor*)clearColor;// 0.0 white, 0.0 alpha
但是大多数的时候我们都需要 根据UI 给定的色值 来设置颜色。
通过 hexString(十六进制字符串) 设定颜色:
+(UIColor*)colorWithHexString:(NSString*)hexString{
NSString*cString = [[hexStringstringByTrimmingCharactersInSet:[NSCharacterSetwhitespaceAndNewlineCharacterSet]]uppercaseString];
// String should be 6 or 8 characters
if([cStringlength] <6)return[UIColorblackColor];
// strip 0X if it appears
if([cStringhasPrefix:@"0X"]) cString = [cStringsubstringFromIndex:2];
if([cStringhasPrefix:@"#"]) cString = [cStringsubstringFromIndex:1];
if([cStringlength] !=6)return[UIColorblackColor];
// Separate into r, g, b substrings
NSRangerange;
range.location=0;
range.length=2;
NSString*rString = [cStringsubstringWithRange:range];
range.location=2;
NSString*gString = [cStringsubstringWithRange:range];
range.location=4;
NSString*bString = [cStringsubstringWithRange:range];
// Scan values
unsignedintr, 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];
}
还有一种更简单的方法是 用宏定义 来提前 设置好颜色:
#define WLColor(r,g,b,a) [UIColor colorWithRed:(r)/255green:(g)/255blue:(b)/255alpha:(a)];
如果觉得对你有用,请点赞谢谢。你的认可是我前进的动力~
神奇化易是坦道,易化神奇不足提。
本人QQ:992659488,欢迎交流学习。
网友评论