获取16进制颜色 方法如(#FA8072)等

首先创建一个类 继承与UIview 名字先叫做 UIColor+ColorChange 吧!

我们在UIColor+ColorChange.h 文件中写

#ifndef UIColor_ColorChange_h
#define UIColor_ColorChange_h
#import <UIKit/UIKit.h>

@interface UIColor (ColorChange)

// 颜色转换:iOS中(以#开头)十六进制的颜色转换为UIColor(RGB)
+ (UIColor *) colorWithHexString: (NSString *)color;

@end

#endif /* UIColor_ColorChange_h */

之后我们在UIColor+ColorChange.m中写

#import <Foundation/Foundation.h>
#import "UIColor+ColorChange.h"

@implementation UIColor (ColorChange)

+ (UIColor *) colorWithHexString: (NSString *)color
{
    NSString *cString = [[color stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]] uppercaseString];
    
    // String should be 6 or 8 characters
    if ([cString length] < 6) {
        return [UIColor clearColor];
    }
    // 判断前缀
    if ([cString hasPrefix:@"0X"])
        cString = [cString substringFromIndex:2];
    if ([cString hasPrefix:@"#"])
        cString = [cString substringFromIndex:1];
    if ([cString length] != 6)
        return [UIColor clearColor];
    // 从六位数值中找到RGB对应的位数并转换
    NSRange range;
    range.location = 0;
    range.length = 2;
    //R、G、B
    NSString *rString = [cString substringWithRange:range];
    range.location = 2;
    NSString *gString = [cString substringWithRange:range];
    range.location = 4;
    NSString *bString = [cString substringWithRange:range];
    // Scan values
    unsigned int r, g, b;
    [[NSScanner scannerWithString:rString] scanHexInt:&r];
    [[NSScanner scannerWithString:gString] scanHexInt:&g];
    [[NSScanner scannerWithString:bString] scanHexInt:&b];
    
    return [UIColor colorWithRed:((float) r / 255.0f) green:((float) g / 255.0f) blue:((float) b / 255.0f) alpha:1.0f];
}
@end

之后在你所界面中 (引入头文件)! 定义宏定义 !!! 定义宏定义 !!! 定义宏定义 !!!
![Uploading 69CE7C9B-69CF-4E0E-AB50-54D5710B1A2F_588784.png . . .]

#define HEXCOLOR(hex) [UIColor colorWithRed:((float)((hex & 0xFF0000) >> 16)) / 255.0 green:((float)((hex & 0xFF00) >> 8)) / 255.0 blue:((float)(hex & 0xFF)) / 255.0 alpha:1]

整体代码如下

#import "ViewController.h"
#import "UIColor+ColorChange.h"
#define HEXCOLOR(hex) [UIColor colorWithRed:((float)((hex & 0xFF0000) >> 16)) / 255.0 green:((float)((hex & 0xFF00) >> 8)) / 255.0 blue:((float)(hex & 0xFF)) / 255.0 alpha:1]
@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    self.view.backgroundColor = [UIColor colorWithHexString:@"#00F5FF"];
    
    UILabel * colorlabel = [[UILabel alloc]initWithFrame:CGRectMake(0,60, self.view.frame.size.width, 40)];
    colorlabel.backgroundColor = [UIColor colorWithHexString:@"#FFFACD"];
    [self.view addSubview:colorlabel];
    
    UILabel * colorlabel1 = [[UILabel alloc]initWithFrame:CGRectMake(0,180, self.view.frame.size.width, 40)];
    colorlabel1.backgroundColor = [UIColor colorWithHexString:@"#FA8072"];
    [self.view addSubview:colorlabel1];
}
@end

颜色色值表
file:///Users/apple/Downloads/RGB颜色对照表.html

22.png

感觉有帮助的话给小编点个喜欢哈

       🌹人生应用七彩涂抹,生活应用踏实铺陈,日子应用充实贯穿。心中怀有使命感,失落感,危机感的人才是不平凡的人🌹

共勉

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,261评论 4 61
  • --绘图与滤镜全面解析 概述 在iOS中可以很容易的开发出绚丽的界面效果,一方面得益于成功系统的设计,另一方面得益...
    韩七夏阅读 2,807评论 2 10
  • 今天在“三节课”平台上了关于运营和项目管理的课程,真是深受启发,现在再重新复盘我前两周的项目管理工作。项目管理主要...
    波妮塔阅读 227评论 0 0
  • 2017-06-29 江杰 玩转Keynote 各位好,这次我新出的一个栏目,Keynote美化。预计每周更新一期...
    Jay_jiang阅读 1,621评论 0 0
  • 全局的 ajaxSend详解 局部的 第一种: 第二种: 注意:修改请求头时,headers中的设置会覆盖befo...
    else05阅读 8,988评论 0 0