iOS开发-从16进制颜色中获取UIColor

目前iOS中设置UIColor只能使用其枚举值、RGB等方法,不能直接将常用的16进制颜色值直接转为UIColor对象,所以写了点代码,将16进制颜色值转为UIColor。

代码如下,

//头文件#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>

@interface TextServcie : NSObject

+(UIColor *) getColorFromHEX:(NSString *)hex;
@end

.m

#import "TextServcie.h"

@implementation TextServcie
+(UIColor *)getColorFromHEX:(NSString *)hex{
    hex= [[hex uppercaseString] substringFromIndex:1];
    CGFloat valueArray[3];
    NSArray *strArray=[NSArray arrayWithObjects:[hex substringWithRange:NSMakeRange(0, 2)],[hex substringWithRange:NSMakeRange(2, 2)],[hex substringWithRange:NSMakeRange(4, 2)] ,nil];
    for( int i=0;i<strArray.count;i++){
        hex=strArray[i];
        CGFloat value=([hex characterAtIndex:0]-‘A‘+10)*16.0f+[hex characterAtIndex:1]-‘A‘+10;
        valueArray[i]=value;
    }
    return [UIColor colorWithRed:valueArray[0]/255 green:valueArray[1]/255 blue:valueArray[2]/255 alpha:1];
}
@end

以上代码,工作正常,下次不用再用工具手动转RGB了

时间: 2024-08-07 16:39:43

iOS开发-从16进制颜色中获取UIColor的相关文章

16进制颜色字符串转为UIColor

//16进制颜色(html颜色值)字符串转为UIColor +(UIColor *) hexStringToColor: (NSString *) stringToConvert { NSString *cString = [[stringToConvert stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]] uppercaseString]; // String should be

16进制颜色与UIColor互转

代码: - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. UIView *view=[[UIView alloc]initWithFrame:CGRectMake(50, 100, 200, 200)]; view.backgroundColor=[self colorWithHexString:@"e26562&q

iOS开发中16进制颜色(html颜色值)字符串转为UIColor

//16进制颜色(html颜色值)字符串转为UIColor +(UIColor *) hexStringToColor: (NSString *) stringToConvert { NSString *cString = [[stringToConvert stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]] uppercaseString]; // String should be

前端笔试题:拍扁多维数组、提取URL中的参数变成对象、实现string的trim()函数、判断Email地址、16进制颜色转rgb格式

(1)拍扁数组 这是一个著名互联网公司今天的前端笔试题:多维数组维数不定,如[2,4,1,[2,3,4,[1,2],5,3],3,8]拍扁为[2,4,1,2,3,4,1,2,5,3,3,8].维数不定,应该要用递归: 答案: function flatten(arr){ var arrLength=arr.length; for(var i=0;i<arrLength;i++){ if(arr[i].constructor==Array){ arr.splice(i,1,flatten(arr[

随机16进制颜色生成方法

function colorOb() { var arr = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'];var sum =  "";for (var i = 0; i < 6; i++) {//向上取整,得到进制数var num= Math.ceil(Math.random() * 16);sum += arr[id];var sym =  "#&qu

C# RGB与16进制颜色转换方法

http://www.cnblogs.com/goldarch/archive/2010/08/16/1801053.html #region [颜色:16进制转成RGB]        /// <summary>        /// [颜色:16进制转成RGB]        /// </summary>        /// <param name="strColor">设置16进制颜色 [返回RGB]</param>       

16进制颜色代码

Hex Code Color #FFFFFF   #FFFFCC   #FFFF99   #FFFF66   #FFFF33   #FFFF00   #FFCCFF   #FFCCCC   #FFCC99   #FFCC66   #FFCC33   #FFCC00   #FF99FF   #FF99CC   #FF9999   #FF9966   #FF9933   #FF9900   #FF66FF   #FF66CC   #FF6699   #FF6666   #FF6633   #FF66

16进制颜色代码(完全)

当你要给你的网页添加颜色时,有时,你能够直接使用该颜色的名称,但是大多情况下,你只能使用十六进制代码来使用这些颜色.(浏览器能够理解这些代码.) 红色和粉红色,以及它们的16进制代码. #990033 #CC6699 #FF6699 #FF3366 #993366 #CC0066 #CC0033 #FF0066 #FF0033 ..#CC3399.. #FF3399 #FF9999 #FF99CC #FF0099 #CC3366 #FF66CC #FF33CC #FFCCFF #FF99FF #

swift - 16进制颜色扩展(1.支持# 2.支持不带# , 3支持带0X)

/** * 设置16进制颜色: * 可识别类型 * 1:有# * 2:没有# * 3:含有0X */ extension UIColor{ class func hexadecimalColor(hexadecimal:String)->UIColor{ var cstr = hexadecimal.trimmingCharacters(in: CharacterSet.whitespacesAndNewlines).uppercased() as NSString; if(cstr.lengt