iOS Developer

iOS开发之 通过各种方法 设置 Color

2017-02-20  本文已影响1100人  莫林是个好孩子

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,欢迎交流学习。

上一篇下一篇

猜你喜欢

热点阅读