iOS 直接使用16进制颜色

在做iOS开发时,一般我们会吸色,就是产品给的图我们一般会吸色,但是最近吸色时候,老大说有较大的颜色偏差,所以要求我们直接使用UI给出的额16进制颜色,你也可以搜索《RGB颜色值转换成十六进制颜色码:》先把16进制颜色转换为RGB的然后再写,但是这样有点影响开发速度,所以呢就写了一个UIColor的分类,直接使用16进制的颜色。

UIColor的分类DLColorChange .h文件
#import <UIKit/UIKit.h>@interface UIColor (DLColorChange)// 颜色转换:iOS中(以#开头)十六进制的颜色转换为UIColor(RGB)
+ (UIColor *) colorWithHexString: (NSString *)color;@end
UIColor的分类DLColorChange .m文件
#import "UIColor+DLColorChange.h"@implementation UIColor (DLColorChange)+ (UIColor *) colorWithHexString: (NSString *)color
{NSString *cString = [[color stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]] uppercaseString];// String should be 6 or 8 charactersif ([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、BNSString *rString = [cString substringWithRange:range];range.location = 2;NSString *gString = [cString substringWithRange:range];range.location = 4;NSString *bString = [cString substringWithRange:range];// Scan valuesunsigned 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

我们可以把

  #import "UIColor+DLColorChange.h"

 写在pch文件中,这样我们全局就可以用。调用如下

 self.view.backgroundColor=[UIColor colorWithHexString:@"#edae48"];

 

 

转载于:https://www.cnblogs.com/peaker-wu/p/5694399.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/430359.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何在mfc主对话框中再显示子对话框_win10扩展显示器设置方法

使用win10系统的过程中&#xff0c;常常需要对win10系统扩展显示器进行设置。良多对电脑不太认识的用户不知道win10系统扩展显示器到底该如何设置?实在win10系统扩展显示器的设置方法非常简朴&#xff0c;下面小编教你win10扩展显示器设置方法。一些用户使用电脑时需要运行多个…

每天CookBook之JavaScript-059

向页面添加元素<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>059</title><style type"text/css">.overlay{background-color: #000;opacity: .7;filter: alpha(opacity70);po…

蓝牙驱动卸载后自动安装_Intel 蓝牙驱动安装教程

前言可能有些人之前没有搞定Intel蓝牙的驱动&#xff0c;今天就把蓝牙的驱动也发一下&#xff0c;实现Intel全家桶的驱动&#xff0c;到处倒腾换网卡也是挺折腾的。所支持的蓝牙IDIntelBluetoothFirmware 是一个用于在 macOS 中启用原生蓝牙的固件上传驱动&#xff0c;固件的二…

Java设计模式笔记(1)单例模式

单例模式&#xff1a;确保某一个类只有一个实例&#xff0c;而且自行实例化并向整个系统提供这个实例。 package com.juno.SinglePattern; // 饿汉式单例&#xff0c;通用代码&#xff0c;建议 public class SingletonOne {private static final SingletonOne instance new Si…

PHP中的常用关键字

PHP中常用的关键字&#xff1a;final 、static、const。。。。 final &#xff1a; 1、final不能修饰成员属性 2、final只能修饰类和方法 final作用&#xff1a; 1、使用final修饰的类不能被子类继续 2、使用final修饰的方法不能被子类去覆盖 3、用来限制类不被继承&#xff0c…

cad在线转低版本_为什么别人制图那么快?41个CAD实用技巧,3天轻松玩转CAD

获取更多业界资讯和深度好文● 点击蓝字关注我们 ●点击上方蓝色字体 关注我们我们在使用CAD制图时&#xff0c;总感觉自己的速度非常慢&#xff0c;为什么别人可以那么快的制图呢&#xff1f;今天就给大家分享一些CAD实用技巧&#xff0c;让你3天轻松玩转CAD。一、提高绘图效率…

Java设计模式笔记(2)工厂方法模式

工厂方法模式&#xff1a;定义一个用于创建对象的接口&#xff0c;让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。 在工厂方法模式中&#xff0c;抽象产品类Product负责定义产品的共性&#xff0c;实现对事物最抽象的定义&#xff1b; Creator为抽象创建…

资料收藏夹

一、学习&#xff1a; 视达网 (ps教程,ps视频教程,电商运营,海报,平面设计,字体设计,c4d教程,ai教程,每天免费学习一个视频教程) Cinema 4D 视频教程 虎课网 (ps教程,ps视频教程,电商运营,海报,平面设计,字体设计,c4d教程,ai教程,每天免费学习一个视频教程) Cinema 4D 视频教…

不同协议的数据包如何处理_【项目申报专员】如何处理各种不同的项目申报工作呢...

前文我们说到了在企业做项目申报专员需要掌握的政策查询&#xff0c;以及申报流程解读工作&#xff0c;今天我给大家来分享在企业如何做好对不同项目的申报工作。说这个问题之前&#xff0c;我们先得了解一些背景知识。在企业做项目申报专员工作意味着什么&#xff1f;意味着事…

Java设计模式笔记(3)抽象工厂模式

抽象工厂模式&#xff1a;为创建一组相关的或者相互依赖的对象提供一个接口&#xff0c;而且无需指定他们的具体类。 抽象工厂模式是工厂方法模式的升级版本&#xff0c;在有多个业务品种、业务分类时&#xff0c;通过抽象工厂模式产生需要的对象是一种非常好的解决方式。 pac…

jsoup简单的爬取网页数据

/*** Project Name:JavaTest* File Name:BankOfChinaExchangeRate.java* Package Name:com.lee.javatest* Date:2016年7月22日下午1:34:09* Copyright (c) 2016年7月22日, Pwenlee All Rights Reserved.* */package com.lee.javatest;import java.io.Serializable; import java…

sql每个月每个人的花销占比_11月:每个认真生活的人,都值得被认真对待

恍然已11月&#xff0c;风吹枯叶落&#xff0c;落叶生肥土&#xff0c;肥土滋养着果实&#xff0c;果实缓慢而坚定着成长。图片&#xff5c;东海青 摄图片&#xff5c;子夜鸟 摄11月&#xff0c;不要怂这是属木芙蓉的晚秋。花朵娇嫩&#xff0c;它却无所忌惮地美丽着&#xff0…

Java设计模式笔记(4)模版方法模式

模版方法模式&#xff1a;定义一个操作中的算法的框架&#xff0c;而将一些步骤延迟到子类中。使得子类可以不改变一个算法的结构即可重定义该算法的某些步骤。 抽象模版的方法分为两类&#xff1a; 1. 基本方法也叫基本操作&#xff0c;是由子类实现的方法&#xff0c;并且在…

比较TFS与SVN,你必须知道的10点区别

相比SVN&#xff0c;对于TFS的优点我有以下几点看法&#xff0c;供大家参考&#xff1a; 1. 总体比较&#xff1a; TFS是一个应用软件生命周期管理&#xff08;ALM&#xff09;软件&#xff0c;是一个软件研发平台产品&#xff0c;其功能覆盖了软件研发过程中的所有环节&#…

react textarea 空格为什么不换行_你需要的 React + TypeScript 50 条规范和经验

这篇文章没有对错之分&#xff0c;肯定也有不完善的地方&#xff0c;结合了自己日常开发和经验。可以让你书写代码更具严谨性,希望看完之后有所帮助。本文字数4000 &#xff0c;看完本文大概需半小时。1. 注释(1) 文件顶部的注释&#xff0c;包括描述、作者、日期/** * descrip…

Java设计模式笔记(5)建造者模式

建造者模式&#xff1a;将一个复杂对象的构建与它的表示分离&#xff0c;使得同样的构建过程可以创建不同的表示。 建造者模式的4个角色&#xff1a; Product产品类&#xff1a;通常是实现了模版方法模式&#xff0c;有模版方法和基本方法。 Builder抽象建造者&#xff1a;规…

Three.js基础探寻二——正交投影照相机

本篇主要介绍照相机中的正交投影照相机。   第一篇传送门&#xff1a;Three.js基础探寻一 1.照相机 图形学中的照相机定义了三维空间到二维屏幕的投影方式。 针对投影方式照相机分为正交投影照相机和透视投影照相机。 2.两种相机的区别与适用范围 正交投影&#xff1a; 透视投…

centos删除文件夹_等保测评主机安全之centos密码长度

密码长度&#xff0c;作为等级保护主机测评项里中密码复杂度要求之一&#xff0c;是必须要查的。在《等级测评师初级教程》里&#xff0c;对于密码长度的设置指向了/etc/login.defs里的PASS_MIN_LEN字段。# PASS_MIN_LEN Minimum acceptable password length.PASS_MIN_LEN …

【原创】Android之修改AlertDialog对话框及使用系统Holo风格

前一阵子在做伪装密码的功能&#xff0c;需要使用系统的对话框&#xff0c;对话框需要加长按事件等等。哈&#xff0c;直接上代码&#xff0c;我是比较喜欢直接看代码的。 1. 获取AlertDialog的Title final int alertTitleId getResources().getIdentifier( "alertTitle…

Activity的四种启动模式-图文并茂

1、对于使用standard 模式的活动&#xff0c;系统不会在乎这个活动是否已经在返回栈中存在&#xff0c;每次启动都会创建该活动的一个新的实例。例如A启动A&#xff0c;A再接着启动A&#xff0c;A继续启动A&#xff0c;然后再分别出栈&#xff0c;如图所示2、当活动的启动模式指…