博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
字符串颜色值转换
阅读量:6306 次
发布时间:2019-06-22

本文共 1220 字,大约阅读时间需要 4 分钟。

#define ColorWithString(string) [MPUniversal colorWithString:string]

 

/**

 *  转换字符串为UIColor

 *

 *  @param string 字符串类型:ffffff六位,ffffffff八位,#ffffff,#ffffffff; 字符允许大小写交叉

 *

 *  @return uicolor 参数错误时,返回黑色

 */

+ (NSUInteger)valueWithCharacher:(char)c

{

    if (c >= 'a' && c <= 'f') return c - 'a' + 10;

    if (c >= 'A' && c <= 'F') return c - 'A' + 10;

    if (c >= '0' && c <= '9') return c - '0';

    return 0;

}

 

+ (UIColor *)colorWithString:(NSString *)string;

{

    if (![string isKindOfClass:[NSString class]]) {

        NSLog(@"MPUniversal col orWithString: 参数错误");

        return [UIColor blackColor];

    }

    CGFloat components[4] = {};

    components[3] = 1.0f;

//if ([cString hasPrefix:@"0X"]) cString = [cString substringFromIndex:2];//if ([cString hasPrefix:@"#"]) cString = [cString substringFromIndex:1];

    if ([string length] % 2 == 1) {

        //去#号

        string = [string substringFromIndex:1];

    }

    for (int i = 0; i < [string length]; i+=2) {

        components[i/2] = [self valueWithCharacher:[string characterAtIndex:i]] * 16 + [self valueWithCharacher:[string characterAtIndex:i+1]];

        components[i/2] = components[i/2]/255.f;

    }

    return [UIColor colorWithRed:components[0] green:components[1] blue:components[2] alpha:components[3]];

}

 

转载于:https://www.cnblogs.com/ldc529/p/3875421.html

你可能感兴趣的文章
在Flex中动态设置icon属性
查看>>
采集音频和摄像头视频并实时H264编码及AAC编码
查看>>
3星|《三联生活周刊》2017年39期:英国皇家助产士学会于2017年5月悄悄修改了政策,不再鼓励孕妇自然分娩了...
查看>>
linux查看命令是由哪个软件包提供的
查看>>
高级Linux工程师常用软件清单
查看>>
堆排序算法
查看>>
folders.cgi占用系统大量资源
查看>>
路由器ospf动态路由配置
查看>>
zabbix监控安装与配置
查看>>
python 异常
查看>>
last_insert_id()获取mysql最后一条记录ID
查看>>
可执行程序找不到lib库地址的处理方法
查看>>
bash数组
查看>>
Richard M. Stallman 给《自由开源软件本地化》写的前言
查看>>
oracle数据库密码过期报错
查看>>
修改mysql数据库的默认编码方式 .
查看>>
zip
查看>>
How to recover from root.sh on 11.2 Grid Infrastructure Failed
查看>>
rhel6下安装配置Squid过程
查看>>
《树莓派开发实战(第2版)》——1.1 选择树莓派型号
查看>>