用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - ios代码库

根据16进制颜色值取得RGB颜色

2016-01-22 作者: ironbox举报

[ios]代码库

+ (UIColor *)colorWithHexString:(NSString *)stringToConvert
{
    // Filter the special characters 
    NSString *cString = [[stringToConvert stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]] uppercaseString];
    if ([cString length] < 6)
        return [UIColor whiteColor];
    if ([cString hasPrefix:@"#"])
        cString = [cString substringFromIndex:1];
    if ([cString length] != 6)
        return [UIColor whiteColor];

    // subString 
    NSString *rString = [cString substringWithRange:(NSRange){0,2}];
    NSString *gString = [cString substringWithRange:(NSRange){2,2}];
    NSString *bString = [cString substringWithRange:(NSRange){4,2}];

    // get rgb Values
    unsigned int r, g, b;
    [[NSScanner scannerWithString:rString] scanHexInt:&r];
    [[NSScanner scannerWithString:gString] scanHexInt:&g];
    [[NSScanner scannerWithString:bString] scanHexInt:&b];

    // retrun color
    return [UIColor colorWithRed:((float) r / 255.0f)
                           green:((float) g / 255.0f)
                            blue:((float) b / 255.0f)
                           alpha:1.0f];
}
/*
NSCharacterSet *set = [NSCharacterSet characterSetWithCharactersInString:@"@/:;()¥「」"、[]{}#%-*+=_\\|~<>$€^•'@#$%^&*()_+'\""];
由于NSString中有全角符号和半角符号, 因此有些符号要包括全角和半角的
然后调用stringByTrimmingCharactersInSet
NSString *trimmedString = [string stringByTrimmingCharactersInSet:set];
trimmedString就是过滤后的字符串
*/


网友评论    (发表评论)

共1 条评论 1/1页

发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...