为了便于日常开发效率,因此创建了一些小的工具类便于使用.
具体 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. maya2017无法安装卸载激活失败

    AUTODESK系列软件着实令人头疼,安装失败之后不能完全卸载!!!(比如maya,cad,3dsmax等).有时手动删除注册表重装之后还是会出现各种问题,每个版本的C++Runtime和.NET f ...

  2. 性能测试工具LoadRunner32-LR之windows性能监控Perfmon

    Perfmon是啥? Perfmon提供了图表化的系统性能实时监视器.性能日志和警报管理,可以用于监视CPU使用率.内存使用率.硬盘读写速度.网络速度等 性能分析方法 内存分析方法 内存分析用于判断系 ...

  3. Smaug Coverage

  4. Day3监督学习——决策树原理

    Day3 机器学习监督学习——决策树原理 一.决策树的原理 1.机器学习中分类和预测算法的评估: 准确率 速度 强壮型:有数据缺失或错误时算法的运行 可规模性:数量级规模比较大 可解释性 2.决策树( ...

  5. 织梦DEDECMS {dede:arclist},{dede:list}获取附加表字段内容

    以前用织梦DEDECMS做二次开发时获取附加表字段内容都是通过runphp执行SQL查询获得,最近看了看手册,发现一个非常简便的方法. 用arclist调用于附加表字段的方法: 方法一: 要获取附加表 ...

  6. mybatis连接mysql数据库实现的jdbc功能

    最近公司项目要使用myBatis,自己以前没有接触过,就在网上找到了一些资料研究了些.初步做出了基于myBatis连接mysql数据库的jdbc实现的功能. employee.java package ...

  7. 开发安全的 API 所需要核对的清单

    开发安全的 API 所需要核对的清单 以下是当你在设计, 测试以及发布你的 API 的时候所需要核对的重要安全措施. 身份认证 不要使用 Basic Auth 使用标准的认证协议 (如 JWT, OA ...

  8. web项目无法被Eclipse的Tomcat识别的解决办法

    Eclipse 导入外部项目无法识别为web项目并且无法在部署到tomcat下 1.进入项目目录,找到 .project 文件: 2.找到 <natures> 代码段,在里面加入如下标签内 ...

  9. psd图片不能在网页上显示

    原因:web上不支持psd图片,web支持JPG,PNG等. 解决:打开ps点击文件--储存为web所用格式(选择转换成哪种格式).

  10. 轻松解决 Eclipse Indigo 3.7 中文字体偏小,完美 Consolas 微软雅黑混合字体!(转)

    在 Windows 7 下初始后化,发现界面变化不大,但中文字体却面目全非,小得根本看不见,而且也看起来很不爽.其实这是 Eclipse 的默认字体换了,以前的一直是 Courier New ,这次e ...