美文网首页iOS Developer
iOS开发之 通过各种方法 设置 Color

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

作者: 莫林是个好孩子 | 来源:发表于2017-02-20 13:09 被阅读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,欢迎交流学习。

    相关文章

      网友评论

        本文标题:iOS开发之 通过各种方法 设置 Color

        本文链接:https://www.haomeiwen.com/subject/pfxrsttx.html