iOS 设置#ffff 这种颜色
UI给图的时候给的是#f2f2f2 让我设置。没有你要的rgb。 所以只能自行解决封装了代码
HexColors.h
#import "TargetConditionals.h" #if TARGET_OS_IPHONE || TARGET_IPHONE_SIMULATOR #import <UIKit/UIKit.h> #define HXColor UIColor #else #import <Cocoa/Cocoa.h> #define HXColor NSColor #endif @interface HXColor (HexColorAddition) + (HXColor *)hx_colorWithHexString:(NSString *)hexString; + (HXColor *)hx_colorWithHexString:(NSString *)hexString alpha:(CGFloat)alpha; + (HXColor *)hx_colorWith8BitRed:(NSInteger)red green:(NSInteger)green blue:(NSInteger)blue; + (HXColor *)hx_colorWith8BitRed:(NSInteger)red green:(NSInteger)green blue:(NSInteger)blue alpha:(CGFloat)alpha; @end
HexColors.m
#import "HexColors.h"
@implementation HXColor (HexColorAddition)
+ (HXColor *)hx_colorWithHexString:(NSString *)hexString
{
// Check for hash and add the missing hash
])
{
hexString = [NSString stringWithFormat:@"#%@", hexString];
}
CGFloat alpha = 1.0;
== hexString.length || == hexString.length) {
NSString * alphaHex = [hexString substringWithRange:NSMakeRange(, == hexString.length ? : )];
== alphaHex.length) alphaHex = [NSString stringWithFormat:@"%@%@", alphaHex, alphaHex];
hexString = [NSString stringWithFormat: == hexString.length ? : ]];
unsigned alpha_u = [[self class] hx_hexValueToUnsigned:alphaHex];
alpha = ((CGFloat) alpha_u) / 255.0;
}
return [[self class] hx_colorWithHexString:hexString alpha:alpha];
}
+ (HXColor *)hx_colorWithHexString:(NSString *)hexString alpha:(CGFloat)alpha
{
) {
return nil;
}
// Check for hash and add the missing hash
])
{
hexString = [NSString stringWithFormat:@"#%@", hexString];
}
// check for string length
!= hexString.length && != hexString.length) {
NSString *defaultHex = [NSString stringWithFormat:@"0xff"];
unsigned defaultInt = [[self class] hx_hexValueToUnsigned:defaultHex];
HXColor *color = [HXColor hx_colorWith8BitRed:defaultInt green:defaultInt blue:defaultInt alpha:1.0];
return color;
}
// check for 3 character HexStrings
hexString = [[self class] hx_hexStringTransformFromThreeCharacters:hexString];
NSString *redHex = [NSString stringWithFormat:, )]];
unsigned redInt = [[self class] hx_hexValueToUnsigned:redHex];
NSString *greenHex = [NSString stringWithFormat:, )]];
unsigned greenInt = [[self class] hx_hexValueToUnsigned:greenHex];
NSString *blueHex = [NSString stringWithFormat:, )]];
unsigned blueInt = [[self class] hx_hexValueToUnsigned:blueHex];
HXColor *color = [HXColor hx_colorWith8BitRed:redInt green:greenInt blue:blueInt alpha:alpha];
return color;
}
+ (HXColor *)hx_colorWith8BitRed:(NSInteger)red green:(NSInteger)green blue:(NSInteger)blue
{
return [[self class] hx_colorWith8BitRed:red green:green blue:blue alpha:1.0];
}
+ (HXColor *)hx_colorWith8BitRed:(NSInteger)red green:(NSInteger)green blue:(NSInteger)blue alpha:(CGFloat)alpha
{
HXColor *color = nil;
#if (TARGET_IPHONE_SIMULATOR || TARGET_OS_IPHONE)
color = [HXColor colorWithRed:( green:( blue:( alpha:alpha];
#else
color = [HXColor colorWithCalibratedRed:( green:( blue:( alpha:alpha];
#endif
return color;
}
+ (NSString *)hx_hexStringTransformFromThreeCharacters:(NSString *)hexString
{
)
{
hexString = [NSString stringWithFormat:@"#%1$c%1$c%2$c%2$c%3$c%3$c",
[hexString characterAtIndex:],
[hexString characterAtIndex:],
[hexString characterAtIndex:]];
}
return hexString;
}
+ (unsigned)hx_hexValueToUnsigned:(NSString *)hexValue
{
unsigned value = ;
NSScanner *hexValueScanner = [NSScanner scannerWithString:hexValue];
[hexValueScanner scanHexInt:&value];
return value;
}
@end
调用
self.backgroundColor = [HXColor hx_colorWithHexString:@"ff5a60"];
iOS 设置#ffff 这种颜色的更多相关文章
- ios 设置状态栏文本颜色为白色
1,在.plist文件中添加一个键值对:设置View controller-based status bar appearance的值为NO 2,在方法中 - (BOOL)application:(U ...
- iOS 设置状态栏的颜色
1.在plist文件中设置如下属性: 2.在delegate中设置 [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarSt ...
- iOS 设置不同的字体颜色
//设置不同字体颜色 -(void)fuwenbenLabel:(UILabel *)labell FontNumber:(UIFont *)font AndRange:(NSRange)range ...
- iOS之 状态栏字体颜色的设置
前一段时间接手一个项目后,熟悉的过程中发现了不少问题,其中有一个就是关于状态栏的问题. 我们都知道:状态栏字体颜色在不同界面不一样的,原因是系统设置的时候把状态栏的字体颜色的界面控制器设置的yes. ...
- iOS下使状态栏颜色与H5中背景色一致
iOS 中有的页面也能会内嵌WebView,然后WebView中用H5做了一个导航,而iOS 中状态栏的颜色很难调整的与H5中导航颜色一致.如下图所示: 其实出现这种原因,主要是因为使用16进制颜色, ...
- iOS 设置View阴影
iOS 设置View投影 需要设置 颜色 阴影半径 等元素 UIView *shadowView = [[UIView alloc] init]; shadowView.frame = CGRectM ...
- 设置statusBar状态栏颜色
设置statusBar的[前景部分] 简单来说,就是设置显示电池电量.时间.网络部分标示的颜色, 这里只能设置两种颜色: 默认的黑色(UIStatusBarStyleDefault) 白色(UISta ...
- 设置placeholder字体颜色
/*设置placeholder字体颜色*/::-webkit-input-placeholder{ color: #FFF;}:-ms-input-placeholder{ color: #FFF;} ...
- IOS中十六进制的颜色转换为UIColor
IOS中十六进制的颜色转换为UIColor #pragma mark - 颜色转换 IOS中十六进制的颜色转换为UIColor + (UIColor *) colorWithHexString: (N ...
随机推荐
- log4cxx第三篇----使用多个logger
使用多个logger时,所有logger的配置写在一个配置文件里面 两个例子: 1 一个继承的例子(http://logging.apache.org/log4cxx/) // file com/fo ...
- MIPI-3
上一篇文章讲了以下D_PHY层,这只是最底层的,针对于显示,上层由分出了四种,由专门的工作组进行定义,显示器方面叫做display wrok group,主要分为 DSC(display comman ...
- 关于Java通过JNI调用C 动态链接库(DLL)
JNI介绍 用JNI实现Java和C语言的数据传递 JNI原理分析和详细步骤截图说明 jni的JNIEnv指针和jobject指针 JNI实现回调| JNI调用JAVA函数|参数和返回值的格式 Jni ...
- STM32F103外部中断编程
STM32F103外部中断编程 中断,顾名思义就是停下手头的活,去干另外一件急活,干完急活然后回来继续干手头的活. 单片机和人一样,有时候也有更急的程序需要执行,执行完之后再回来执行之前正在执行的 ...
- VS2010下创建的VB.NET项目打包发布安装包的流程
VS2010下创建的VB.NET项目打包发布安装包的流程 参考:http://blog.csdn.net/liuyanlinglanq/article/details/8609675 关于relea ...
- EasyUI--datebox设置默认时间
1. html代码: <input id="txtBeginTime" class="easyui-datebox" data-options=" ...
- radiobutton设置样式
单选题里会用到radiobutton,如果不想使用系统提供的圆圈样式,可以自定义样式,想要做成的效果就是, 使用自定义的图片替换圆圈,然后选择有4个选项的其中一个,图片上有个对勾标记, 然后如果正确选 ...
- Docker学习计划
刚开始学习Docker的时候,找资料在网上看到最多的是Docker的好处.比如: 1.Docker 容器的启动可以在秒级实现,这相比传统的虚拟机方式要快得多 2.Docker 对系统资源的利用率很高, ...
- iOS 之 WebView 简单使用
1. 代理 UIWebViewDelegate 2. 创建 UIWebView myWebView=[[UIWebView alloc] initWithFrame:CGRectMake(, ,sel ...
- dp中表示无限取的写法
dp[i][j]=dp[i-a[i][j]+dp[i-a[i]][j-1]; 其中前一项j不变表示j这一项无限取