为了便于日常开发效率,因此创建了一些小的工具类便于使用.
具体 code 如下:
声明:

/*
为控件设置色值
*/
#import <UIKit/UIKit.h> @interface UIColor (FYH) /**
根据RGB颜色值生成UIColor
@param rgbValue 颜色值
@param alpha 透明度(0-1)之间
@return 结果样式
*/
+ (UIColor *)colorFromRGB:(NSInteger)rgbValue withAlpha:(CGFloat)alpha;
+ (UIColor *)colorFromRGB:(NSInteger)rgbValue; /**
根据十六进制颜色值生成UIColor
@param hexString 十六进制色值
@return 结果样式
*/
+ (UIColor *)colorWithHexString:(NSString *)hexString; /**
根据十六进制颜色值生成UIColor
@param hexString 十六进制色值
@param alpha 透明度(0-1)之间
@return 结果样式
*/
+ (UIColor *)colorWithHexString:(NSString *)hexString alpha:(CGFloat)alpha;
+ (UIColor *)colorWithHexStringWithAlpha:(NSString *)hexString; @end

实现:

#import "UIColor+FYH.h"

@implementation UIColor (FYH)

+ (UIColor *)colorFromRGB:(NSInteger)rgbValue withAlpha:(CGFloat)alpha  {
return [UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16)) / 255.0
green:((float)((rgbValue & 0xFF00) >> 8)) / 255.0
blue:((float)(rgbValue & 0xFF)) / 255.0 alpha:alpha]; } + (UIColor *)colorFromRGB:(NSInteger)rgbValue {
return [UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16)) / 255.0
green:((float)((rgbValue & 0xFF00) >> 8)) / 255.0
blue:((float)(rgbValue & 0xFF)) / 255.0 alpha:1.0]; } /**
* hexString eg. #ff0000
*/
+ (UIColor *)colorWithHexString:(NSString *)hexString {
return [UIColor colorWithHexString:hexString alpha:1.0];
} /**
* hexString eg. #ffffffff
*/
+ (UIColor *)colorWithHexStringWithAlpha:(NSString*)hexString {
if ([hexString hasPrefix:@"0x"] || [hexString hasPrefix:@"0X"]) {
hexString = [hexString substringFromIndex:2];
} else if ([hexString hasPrefix:@"#"]) {
hexString = [hexString substringFromIndex:1];
} unsigned int value = 0;
BOOL flag = [[NSScanner scannerWithString:hexString] scanHexInt:&value];
if(NO == flag)
return [UIColor clearColor];
float r, g, b, a;
a = (value & 0x000000FF) / 255.0;
value = value >> 8;
b = value & 0x000000FF;
value = value >> 8;
g = value & 0x000000FF;
value = value >> 8;
r = value; return [UIColor colorWithRed:r/255.0f green:g/255.0f blue:b/255.0f alpha:a];
} + (UIColor *)colorWithHexString:(NSString *)hexString alpha:(CGFloat)alpha {
if ([hexString hasPrefix:@"0x"] || [hexString hasPrefix:@"0X"]) {
hexString = [hexString substringFromIndex:2];
} else if ([hexString hasPrefix:@"#"]) {
hexString = [hexString substringFromIndex:1];
} unsigned int value = 0;
BOOL flag = [[NSScanner scannerWithString:hexString] scanHexInt:&value];
if(NO == flag)
return [UIColor clearColor];
float r, g, b, a;
a = alpha;
b = value & 0x0000FF;
value = value >> 8;
g = value & 0x0000FF;
value = value >> 8;
r = value; return [UIColor colorWithRed:r/255.0f green:g/255.0f blue:b/255.0f alpha:a];
} @end

以上便是此次分享的内容,期待大神多多指点补充,使其更加强壮!

工具类(为控件设置色值) - iOS的更多相关文章

  1. 工具类(为控件设置圆角) - iOS

    为了便于日常开发效率,因此创建了一些小的工具类便于使用.具体 code 如下:声明: /* 为控件添加边框样式_工具类 */ #import <UIKit/UIKit.h> typedef ...

  2. 我的QT5学习之路(三)——模板库、工具类和控件(下)

    一.前言 作为第三篇的最后一部分,我们来看一下Qt的控件,谈到控件,就会让人想到界面的美观性和易操作性,进而想到开发的便捷性.作为windows界面开发的MFC曾经是盛行了多少年,但是其弊端也随着其他 ...

  3. Chapter2:Qt5模板库,工具类及控件

    2.1 字符串类 QString类保存16位Unicode值,提供了丰富的操作,查询和转换等函数.  (1):QString提供了一个二元的"+"操作符用于组合两个字符串  (2) ...

  4. iOS之用xib给控件设置圆角、边框效果

    xib中为各种控件设置圆角 通过代码的方式设置 @interface ViewController () @property (weak, nonatomic) IBOutlet UIView *my ...

  5. C# LIstbox 解决WinForm下ListBox控件“设置DataSource属性后无法修改项集合”的问题

    解决WinForm下ListBox控件“设置DataSource属性后无法修改项集合”的问题 分类: winform2008-05-24 02:33 2592人阅读 评论(11) 收藏 举报 winf ...

  6. 解决WinForm下ListBox控件“设置DataSource属性后无法修改项集合”

    解决WinForm下ListBox控件“设置DataSource属性后无法修改项集合” 最近更新: 2013-2-15    587   很少写WinForm程序第一次使用ListBox控件就遇到了比 ...

  7. (转载) Android 带清除功能的输入框控件ClearEditText,仿IOS的输入框

    Android 带清除功能的输入框控件ClearEditText,仿IOS的输入框 标签: Android清除功能EditText仿IOS的输入框 2013-09-04 17:33 70865人阅读  ...

  8. 【VS开发】在VS2010中开发ActiveX控件设置测试容器的方式

    在VS2010中开发ActiveX控件设置测试容器的方式 借鉴文章http://blog.csdn.net/waxgourd0/article/details/7374669 在VS2010中开发MF ...

  9. .NET Framework的属性类对控件的支持功能

     ToolBoxItem 此属性为类特性.属于工具箱属性,可以设置当前控件是否在工具箱中显示,以及所在工具箱项的类型名称等信息.默认生成的控件都显示在工具箱中. 更多设计时属性介绍: 4.3 属性的 ...

随机推荐

  1. jq二级目录

    CSS:.qsc_nav_main .level1 { text-align: center; height: auto; } .qsc_nav_main .level1 a { display: i ...

  2. jemalloc报 Unsupported system page size错误

  3. LeetCode 887.鸡蛋掉落(C++)

    每个蛋的功能都是一样的,如果一个蛋碎了,你就不能再把它掉下去. 你知道存在楼层 F ,满足 0 <= F <= N 任何从高于 F 的楼层落下的鸡蛋都会碎,从 F 楼层或比它低的楼层落下的 ...

  4. Clouder Manager安装时出现please remove the following file: /etc/cloudera-scm-server/db.properties问题解决(图文详解)

    问题详情 bigdata@ubuntucmbigdata1:/opt/softwares/cm-$ sudo ./cloudera-manager-installer.bin This install ...

  5. DEDE模板中如何运行php脚本和php变量的使用

    在使用dede模板的时候,经常会需要直接对dede数据库的底层字段进行处理,如果dede中没有相应的函数的时候,往往就需要我们想办法来处理了. 举例:我想取出数据表addonimages中的某一条记录 ...

  6. vlh 标签详解

    1.vlh:root  root标签做为所有vlh标签的根标签.  1)value  在给定的范围内,包含在ValueList或list的变量名. List的实例自动被DefaultListBacke ...

  7. Hibernate课程 初探一对多映射3-2 单向多对一的配置

    1 多方实体类中加入,一方类和getset方法 //多方定义一个一方的引用 private Grade grade; public Grade getGrade() { return grade; } ...

  8. CF1096C Polygon for the Angle

    思路: 要想到正n边形中所有可能的ang为180 * k / n (1 <= k <= n - 2). 根据n = 180 * k / ang, n是大于等于3的整数,并且n >= ...

  9. 微信小程序电商实战-商品列表流式布局

    今天给大家分享一下微信小程序中商品列表的流式布局方式,根据文章内容操作就可以看到效果哦~~~ 流式布局概念 流式布局也叫百分比布局 把元素的宽,高,margin,padding不再用固定数值,改用百分 ...

  10. php token

    接口特点汇总: 1.因为是非开放性的,所以所有的接口都是封闭的,只对公司内部的产品有效: 2.因为是非开放性的,所以OAuth那套协议是行不通的,因为没有中间用户的授权过程: 3.有点接口需要用户登录 ...