MHHexColoring为开发者快速获取想要的十六进制颜色(Hex Color)

查找16进制色码的网站:http://www.color-hex.com

// 版权属于原作者 MHHexColoring

http://code4app.com/ios/MHHexColoring/548e9485933bf0a9738b6301

1、使用方法:

加入UIColor+HexString.h/m文件,导入头文件:
#import "UIColor+HexString.h"

获取颜色,返回UIColor:
[UIColor colorWithHexString:@"#ffffff"];

2、 UIColor+HexString.h

//  UIColor+HexString.h

//  shopbox

//

//  Created by Mohamed Hegab on 10/2/14.

//  Copyright (c) 2014 The Dark Dimension. All rights reserved.

//

#import <UIKit/UIKit.h>

@interface UIColor (HexString)

+ (UIColor *) colorWithHexString: (NSString *) hexString;

@end

3、 UIColor+HexString.m

#import "UIColor+HexString.h"

@implementation UIColor (HexString)

+ (CGFloat) colorComponentFrom: (NSString *) string start: (NSUInteger) start length: (NSUInteger) length {

NSString *substring = [string substringWithRange: NSMakeRange(start, length)];

NSString *fullHex = length == 2 ? substring : [NSString stringWithFormat: @"%@%@", substring, substring];

unsigned hexComponent;

[[NSScanner scannerWithString: fullHex] scanHexInt: &hexComponent];

return hexComponent / 255.0;

}

+ (UIColor *) colorWithHexString: (NSString *) hexString {

NSString *colorString = [[hexString stringByReplacingOccurrencesOfString: @"#" withString: @""] uppercaseString];

CGFloat alpha, red, blue, green;

switch ([colorString length]) {

case 3: // #RGB

alpha = 1.0f;

red   = [self colorComponentFrom: colorString start: 0 length: 1];

green = [self colorComponentFrom: colorString start: 1 length: 1];

blue  = [self colorComponentFrom: colorString start: 2 length: 1];

break;

case 4: // #ARGB

alpha = [self colorComponentFrom: colorString start: 0 length: 1];

red   = [self colorComponentFrom: colorString start: 1 length: 1];

green = [self colorComponentFrom: colorString start: 2 length: 1];

blue  = [self colorComponentFrom: colorString start: 3 length: 1];

break;

case 6: // #RRGGBB

alpha = 1.0f;

red   = [self colorComponentFrom: colorString start: 0 length: 2];

green = [self colorComponentFrom: colorString start: 2 length: 2];

blue  = [self colorComponentFrom: colorString start: 4 length: 2];

break;

case 8: // #AARRGGBB

alpha = [self colorComponentFrom: colorString start: 0 length: 2];

red   = [self colorComponentFrom: colorString start: 2 length: 2];

green = [self colorComponentFrom: colorString start: 4 length: 2];

blue  = [self colorComponentFrom: colorString start: 6 length: 2];

break;

default:

return nil;

}

return [UIColor colorWithRed: red green: green blue: blue alpha: alpha];

}

@end

颜色转换:#hhhfff->UIColor (MHHexColoring)的更多相关文章

  1. UIColor各种颜色转换

    1.Hex值颜色转换 #import <UIKit/UIKit.h> @interface UIColor (Extension) // 根据无符号的32位整数转换为对应的RGB颜色 + ...

  2. iOS中RGB颜色转换

    iOS中RGB常用的色值,同时可将对颜色的设置定义成宏,方便开发应用,如: // RGB颜色转换(16进制->10进制) #define UIColorFromRGB(rgbValue) [UI ...

  3. iOS开发-16进制颜色转换

    项目中经常会用到颜色转换,有的是通过十六进制转成数字转颜色,想简单的点直接通过字符串转一下,简单扩展了一下分类UIColor,代码如下: +(UIColor *)colorWithHex:(NSStr ...

  4. js颜色转换

    很久之前面试遇到过一个题.写个颜色转换的方法. function RGB2Color(r,g,b) { return '#' + byte2Hex(r) + byte2Hex(g) + byte2He ...

  5. C语言颜色转换宏

    C语言颜色转换宏 #define COLOR_BPP16_RGB555 /* Win RGB */ #define COLOR_RGB(r,g,b) ((COLORREF)(((BYTE)(r)|(( ...

  6. OpenCV颜色转换和皮肤检测

    本笔记重点记录OpenCV中的颜色转换和利用色彩空间的特性进行皮肤检测 颜色转换 实现原理 之所以要引入色调/饱和度/亮度的色彩空间概念,是因为人们喜欢凭直觉分辨各种颜色,而它与这种方式吻合.实际上, ...

  7. IOS 十六进制字符串转换成UIColor

    /** * 十六进制转换成UIColor * * @param stringToConvert 十六进制字符串 * * @return UIColor */ +(UIColor *) hexStrin ...

  8. iOS 从各种效果图颜色标注生成 UIColor

    iOS 从各种效果图颜色标注生成 UIColor 太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公 ...

  9. 颜色转换、随机、16进制转换、HSV

    颜色转换.随机.16进制转换.HSV: /** * * *-----------------------------------------* * | *** 颜色转换.随机.16进制转换.HSV * ...

随机推荐

  1. spring与cxf整合配置webservice接口(以jaxws:server的方式配置)

    ps:最近项目需要跟其他系统做同步,需要使用webservice来提供接口给其他系统调用:临时抱佛脚赶紧去网上找了下资料,发现用Endpoint的方式发布接口好容易哦:赶紧写了个例子做验证,发布成功. ...

  2. Thinkphp5创建控制器

    今天我们就来创建一个控制器: <?php namespace app\index\controller; use think\Controller; class Test extends Con ...

  3. 网络博客 VC\图案像处理

    http://blog.csdn.net/lvwx369/article/category/1185452 http://blog.csdn.net/lyy289065406/article/deta ...

  4. VC error link

    错误1:LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main在project-setting-link里找到pro ...

  5. 2018VMware虚拟机安装Mac OS 10.12.1

    说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家! 一.下载安装中所需的镜像文件以及补丁工具 Mac OS 10.12.1 Sierra (16B2555) 懒人版(下载地址):ht ...

  6. ex.Message "ORA-01691: Lob 段 USER_MURPHY.SYS_LOB0000093717C00006$$ 无法通过 1024 (在表空间 ZJHH 中) 扩展"

    Oracle,往数据库里导入dmp的时候报错:ORA-01691:Lob 段 无法通过8192(在表空间TS_SI中)扩展 解决方案1: 原因:所创建的表空间不足. 创建一个可拓展的表空间 creat ...

  7. 【BZOJ 2119】股市的预测

    [链接]h在这里写链接 [题意]     给你一个长度为n的数组a[]     设b[i] = a[i+1]-a[i];     然后让你在b[i]里面找ABA的形式.     这里B的长度要求为m; ...

  8. 【重拾Effective Java】一

    之前看这本<Effective Java(第二版)>都是非常早曾经了.这本书确实是本好书.须要细嚼慢咽,每次看都有不同的体验. 在此写博客巩固一下. 第一章.创建和销毁对象 考虑用静态工厂 ...

  9. [Node] Run Any Version of a Node Tool with npx

    As node projects evolve, new features are added all the time. This results in different errors or re ...

  10. [Angular] Step-By-Step Implementation of a Structural Directive - Learn ViewContainerRef

    For example we have two buttons: When we click nether one of those tow button, the modal should show ...