颜色常识

#import "ViewController.h"
#import "UIColor+Hex.h"
#define XMGColor(r,g,b) [UIColor colorWithRed:(r) / 256.0 green:(g) / 256.0 blue:(b) / 256.0 alpha:1]
@interface ViewController ()
@property (weak, nonatomic) IBOutlet UILabel *labelView;

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    UIColor *color = [UIColor colorWithRed:213 / 255.0 green:213 / 255.0 blue:213 / 255.0 alpha:1];
    _labelView.textColor = [UIColor colorWithHexString:@"eb3535"];
//    _labelView.textColor = XMGColor(255 , 255, 255);
}

/*
    颜色:3种颜色通道 R G B
    颜色表达方式
        24位
        32位
    每一个颜色通道是8位,0~256
    R:213 G:213 B:213

    #ffffff
    R:FF => 10进制 255
    G:FF 255
    B:FF 255

    #:美工16进制表示形式
    0x:OC16进制表达式
 */

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end
UIColor+Hex.h
#import <UIKit/UIKit.h>

@interface UIColor (Hex)

// 默认alpha位1
+ (UIColor *)colorWithHexString:(NSString *)color;

//从十六进制字符串获取颜色,
//color:支持@“#123456”、 @“0X123456”、 @“123456”三种格式
+ (UIColor *)colorWithHexString:(NSString *)color alpha:(CGFloat)alpha;

@end
UIColor+Hex.m
#import "UIColor+Hex.h"

@implementation UIColor (Hex)

+ (UIColor *)colorWithHexString:(NSString *)color alpha:(CGFloat)alpha
{
    //删除字符串中的空格
    NSString *cString = [[color stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]] uppercaseString];
    // String should be 6 or 8 characters
    if ([cString length] < 6)
    {
        return [UIColor clearColor];
    }
    // strip 0X if it appears
    //如果是0x开头的,那么截取字符串,字符串从索引为2的位置开始,一直到末尾
    if ([cString hasPrefix:@"0X"])
    {
        cString = [cString substringFromIndex:2];
    }
    //如果是#开头的,那么截取字符串,字符串从索引为1的位置开始,一直到末尾
    if ([cString hasPrefix:@"#"])
    {
        cString = [cString substringFromIndex:1];
    }
    if ([cString length] != 6)
    {
        return [UIColor clearColor];
    }

    // Separate into r, g, b substrings
    NSRange range;
    range.location = 0;
    range.length = 2;
    //r
    NSString *rString = [cString substringWithRange:range];
    //g
    range.location = 2;
    NSString *gString = [cString substringWithRange:range];
    //b
    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:alpha];
}

//默认alpha值为1
+ (UIColor *)colorWithHexString:(NSString *)color
{
    return [self colorWithHexString:color alpha:1.0f];
}

@end
时间: 2024-10-25 14:43:59

颜色常识的相关文章

【常识】常用RGB颜色对照表

RGB颜色表 白色:rgb(255,255,255) 黑色:rgb(0,0,0) 红色:rgb(255,0,0) 绿色:rgb(0,255,0) 蓝色:rgb(0,0,255) 青色:rgb(0,255,255) 紫色:rgb(255,0,255) 调整相关数字,便可以得到深浅不一的各种颜色. 颜色样式 RGB数值 颜色代码 颜色样式 RGB数值 颜色代码 黑色 0,0,0 #000000 白色 255,255,255 #FFFFFF 象牙黑 88,87,86 #666666 天蓝灰 202,2

iOS开发——数据持久化OC篇&amp;(七)CoreData高级常识

CoreData高级常识 关于CoreData貌似实际开发中很少用到,基本上是个有九个公司不会使用它,因为都说是性能不好,但是作为一个程序员,了解及其使用时必须了, 下面是我从一位大神那里搬过来的一下Core详细介绍,相信以后总有一天会帮我解决不少学习CoreData中的问题! 一.技术概览 1. Core Data 功能初窥 对于处理诸如对象生命周期管理.对象图管理等日常任务,Core Data框架提供了广泛且自动化的解决方案.它有以下特性. (注:对象图-Object graph的解释:在面

Flash部分常识

动态的表现手法:移动模糊的图来表示告诉移动的人或物.游戏的速率:FPS一般设置为24.游戏的加速度:补间动画的缓动表示加速度.关于反弹:弹性配合加速度,就可以提现物体的重力和运动的真实情况了.惯性:突然发生动作或突然静止的时候.         小汽车要告诉向前运动时:闲稍微向后运动一点,表现原来静止带来的惯性.         告诉运动的小汽车突然停止:可以给他以形变,然后恢复,体现告诉运动的惯性.视觉冲击力:      1:速度的变化与周围的环境.      2:运动的面积:告诉闪动也不错,

颜色“秀”

梁景红的色彩书籍的. 色彩与我们的关系 人脑如何理解和认识色彩? 设计与色彩的关系? 只关注色彩搭配是不够的 寻找多事物之间的联系 人们的心理.行为和色彩之间的思考 灵感来自于生活中的一切 ?CMYK.RGB并非基于人脑辨识色彩的方法 ·HSB模式才是人们认识色彩的方式 ?H色相 S饱和度 B明度 不要过于依赖计算机的工作方式 训练色感,是训练你的视觉感受力 主色尽可能选择色彩倾向性明确的颜色 问:如何利用好现在的配色网站?有很多色标之类的? 比如http://www.peise.net/这种,

安卓布局修改基础常识篇之TextView属性

[天使]安卓布局修改基础常识篇之TextView属性 在修改布局xml文件时需要熟练掌握一些属性,以下是TextView也就是文本的属性:android:autoLink 是否自动链接网址或邮箱地址:android:autoText 自动检测错误:android:bufferType 决定getText()返回的类型android:capitalize 指定使用类型android:cursorVisible 光标是否可见android:digits 数字输入android:drawableBot

秋季护肤必须了解的常识问题

肌肤在秋季最容易出现干燥.粗糙等问题,秋季护理肌肤,除了根据自己的肤质状况来挑选适合自己的护肤品之外,从皮肤健康的角度考虑,在护肤时,我们还需要了解和掌握一些护肤常识,这样才能得到不错的保养效果,让肌肤变得更加健康.完美,那么,我们在秋季该如何护理肌肤呢?有哪些秋季护肤常识是我们需要了解的呢? 1.多种原因造成黯沉 长时间日晒,阳光中的紫外线对皮肤的伤害有不可逆转性,皮肤的抗自由基能力变弱,代谢会自然减慢,肌肤细胞颜色加深,就会形成暗黄的肤色.其次,如果没及时清理掉堆积的皮肤表面的油腻污垢.老旧

病毒基本常识

病毒常识(一) 怎样推断计算机感染了病毒: 计算机感染病毒后会有一些明显特征,假设您发现一些异常情况,比方: ? 屏幕上显示一些奇怪的信息和图片 ? 光驱托盘莫名其妙的弹出 ? 程序自己主动打开 ? 在未经您授权的情况下,有程序试图訪问互联网 假设出现这样的情况,您的计算机上非常有可能是感染了病毒. 电子邮件类病毒感染后,也会有一些明显的特征: ? 朋友或熟人告诉您收到了您从来没有发送过的电子邮件. ? 您的收件箱内收到了大量没有发送地址和主题的邮件. 但须要注意的是,有些异常情况并不都是由病毒

优衣库是否偏离了现代营销理论?背离了营销学常识?

优衣库刚进入南京的时候,广告词是“造服于人”,最近的是“服适人生”我觉得都很赞.对于时尚潮人来说优衣库可能是很土.很怂的代言人,但是对于对穿着打扮只求舒适.实用.平价的人群来说,优衣库就是人民大救星啊!这类人群以我家老公为代表,他作为理工宅男,厌恶逛街.受不了型男,绝不在打扮上浪费一分钟时间,喷个发胶都有可能中毒而死,一年到头两双鞋一只包,更悲催的是他还是个瘦高个,普通尺码都捉襟见肘.他原来最喜欢的品牌是“海澜之家”,因为“一年逛两次海澜之家”深深滴打动了他,哈哈,一年逛两次就有衣服穿了啊!自从

印制名片的一些分类常识:彩喷、彩印、胶印、四色都是什么意思啊?还有铜板纸、白卡纸等有什么区别

彩喷,就是彩色喷绘,不是印刷:只能作临时用.彩印,一般指的是彩色激光打印,也不是印刷,小量可以用,单价比较贵,大量打印费用太多了.胶印,就是普通的彩色印刷,要上印刷机印,适合于大量印刷.四色,现在的彩色打印与彩色印刷的基本色,都是四个颜色组成的,即,红.蓝.黄.黑:其它颜色都是由这四个基本色调成的. 铜板纸,应该说是最普通的印刷用纸,像现在市场上的杂志,瑞丽呀,时尚呀,全部是铜板纸印刷,钢板纸又分为光板纸和哑光纸,是只纸表面的光亮面.就像光面相片与哑光面相片纸一样. 白卡纸,也是印刷纸的一种,一