zoukankan      html  css  js  c++  java
  • convert a hexadecimal color (e.g. #FFCC88)

    The following is a simple method that will convert a hexadecimal color (e.g. #FFCC88) into an equivalent UIColor object.
    - (UIColor *) colorForHex:(NSString *)hexColor {
    hexColor = [[hexColor stringByTrimmingCharactersInSet:
    [NSCharacterSet whitespaceAndNewlineCharacterSet]
    ] uppercaseString];
    // String should be 6 or 7 characters if it includes '#'
    if ([hexColor length] < 6)
    return [UIColor blackColor];
    // strip # if it appears
    if ([hexColor hasPrefix:@"#"])
    hexColor = [cString substringFromIndex:1];
    // if the value isn't 6 characters at this point return
    // the color black
    if ([hexColor length] != 6)
    return [UIColor blackColor];
    // Separate into r, g, b substrings
    NSRange range;
    range.location = 0;
    range.length = 2;
    NSString *rString = [hexColor substringWithRange:range];
    range.location = 2;
    NSString *gString = [hexColor substringWithRange:range];
    range.location = 4;
    NSString *bString = [hexColor substringWithRange:range];
    // Scan values
    unsigned int r, g, b;
    [[NSScanner scannerWithString:rString] scanHexInt:&r];
    [[NSScanner scannerWithString:gString] scanHexInt:&g];
    [[NSScanner scannerWithString:bString] scanHexInt:&b];
    return [UIColor colorWithRed:((float) r / 255.0f)
    green:((float) g / 255.0f)
    blue:((float) b / 255.0f)
    alpha:1.0f];
    }
    

    Notice that we had to first separate our the hex values for the red, green, and blue components first as substrings and then apply the NSScanner to those substrings.

  • 相关阅读:
    LVS负载均衡部署
    将源码包制作成rpm包
    root用户被提示:Operation not permitted
    varnish加速web
    优化nginx数据包头缓存
    NGINX并发量优化
    Python+API接口测试框架设计(pytest)
    python+API接口测试框架设计(unittest)
    python编程面试题
    Python + unittest知识点回顾
  • 原文地址:https://www.cnblogs.com/cnsoft/p/1409040.html
Copyright © 2011-2022 走看看