iOS根据16进制的色号来设置颜色,适合封装工具类

iOS中有时候UI给的一个色号就像 #54e1b7 这个,而我们一般设置颜色都是根据RBG来设置的,所以这里需要把这个16进制的色号转为RGB值,这里我们就使用一下的方法来调用设置颜色。

 1 + (UIColor *)getColor:(NSString *)hexColor
 2 {
 3     if (hexColor == nil || hexColor.length == 0) {
 4         NSLog(@"color string is nil.");
 5         return [UIColor blackColor];
 6     }
 7     unsigned int red,green,blue;
 8     NSRange range;
 9     range.length = 2;
10
11     range.location = 0;
12     NSString *deHexColor = [hexColor substringWithRange:range];
13     [[NSScanner scannerWithString:deHexColor] scanHexInt:&red];
14
15     range.location = 2;
16     deHexColor = [hexColor substringWithRange:range];
17     [[NSScanner scannerWithString:deHexColor] scanHexInt:&green];
18
19     range.location = 4;
20     deHexColor = [hexColor substringWithRange:range];
21     [[NSScanner scannerWithString:deHexColor] scanHexInt:&blue];
22
23     return [UIColor colorWithRed:(float)(red/255.0f) green:(float)(green / 255.0f) blue:(float)(blue / 255.0f) alpha:1.0f];
24 }
时间: 2024-10-07 04:28:47

iOS根据16进制的色号来设置颜色,适合封装工具类的相关文章

[iOS]把16进制(#871f78)颜色转换UIColor

// // ViewController.m // text // // Created by 李东旭 on 16/1/22. // Copyright © 2016年 李东旭. All rights reserved. // #import <UIKit/UIKit.h> #import "ViewController.h" // 定义个宏,方便实用,>> 16 的意思是把16进制转换成2进制后,右移16位(移动掉的直接舍弃) #define UIColorF

【转】iOS中16进制转10进制

原文网址:http://www.voidcn.com/blog/u012198553/article/p-4976772.html /// 将十六进制的字符串转化为NSData - (NSData )transStrHexToData:(NSString )strHex { /// bytes索引 NSUInteger j = 0; NSInteger len = strHex.length; if (len % 2 == 1) { /// 若不能被2整除则说明16进制的字符串不满足图片图.特此

iOS 将16进制字符串转换成UIColor

#pragma mark - 将16进制字符串转换成 UIColor - (UIColor *)generateColorObjectWithHex:(NSString *)hexString { unsigned int red = 0, green = 0, blue = 0; NSRange range = {0, 2}; range.location = 0; NSString *redString = [hexString substringWithRange:range]; NSSc

iOS开发-16进制颜色转换

项目中经常会用到颜色转换,有的是通过十六进制转成数字转颜色,想简单的点直接通过字符串转一下,简单扩展了一下分类UIColor,代码如下: +(UIColor *)colorWithHex:(NSString *)hexColor{ return [self colorWithHex:hexColor alpha:1.0f]; } //http://www.cnblogs.com/xiaofeixiang iOS技术交流:228407086 +(UIColor *)colorWithHex:(NS

iOS识别16进制颜色表方法

+ (UIColor *)colorWithHexString:(NSString *)color alpha:(CGFloat)alpha { //删除字符串中的空格 NSString *cString = [[color stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]] uppercaseString]; // String should be 6 or 8 character

[iOS]把16进制颜色转换UIColor

- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. UIColor *color = [self colorWithHexString:@"#81c52b"]; [self.view setBackgroundColor:color]; } - (UIColor *) colorWithHexString:

支持windows linux下将指定内存段转为16进制与ascii码的日志输出类

来源:http://blog.csdn.net/lezhiyong 1. 简介 将指定内存段转为16进制与asci码的输出到日志文件的类. 2. 功能介绍 1) 支持window与linus双系统. 2) 可指定输出目录. 3) 日志能输出的时间精确到毫秒,日志能输出线程号. 4) 提供字符串输出. 5) 提供指定内存转换为16进制输出. 6) 提供指定内存转换为16进制和ascii码同时输出. 7) 可调整16进制输出间距. 3. 原理和算法 1) 模块是基于C++语言编写: 2) 通过条件定

JS-011-颜色进制转换(RGB转16进制;16进制转RGB)

在网页开发的时候,经常需要进行颜色设置,因而经常需要遇到进行颜色进制转换的问题,例如:RGB转16进制:16进制转RGB),前几天在测试的时候,发现网站的颜色进制转换某类16进制颜色(例如:#000080,#FA08FA)转换时总是提示颜色非法,看了一下 js 源码,发现其进制转换的方法是错误的.找了一下度娘和谷大爷,最终写了一个颜色转换的小方法,源码如下所示: String.prototype.colorHex2Rgb = function(){ var reg = /^#([0-9a-fA-

iOS --- UIColor中使用16进制选取颜色

iOS中的UIColor可以使用16进制来选取颜色. 预先定义如下: #define UIColorFromHex(s) [UIColor colorWithRed:(((s & 0xFF0000) >> 16))/255.0 green:(((s & 0xFF00) >> 8))/255.0 blue:((s & 0xFF))/255.0 alpha:1.0] 使用方法: view.backgroundColor = UIColorFromHex(0xdc