XIb颜色设置
使用场景 ->>
- 我们在实际开发过程中,我们一般都是 使用的RGB和Hex颜色
来设置的
1. 我们可以通过 XIb中来设置RGB颜色
-
但是需要注意的是:XIB中的颜色和实际的颜色 在有颜色重叠的情况下 有出现点偏差
eg:
第一步
2. 通过代码 实现RGB 和 Hex颜色
- RGB (通过宏定义来实现)
//不透明
#define RGB(r,g,b) [UIColor colorWithRed:r/255.0f green:g/255.0f blue:b/255.0f alpha:1.0f]
//带透明的
#define RGBA(r,g,b,a) [UIColor colorWithRed:r/255.0f green:g/255.0f blue:b/255.0f alpha:a]
2 .Hex颜色(UIColor的扩展)
.h文件
#import <UIKit/UIKit.h>
@interface UIColor (tools)
+ (UIColor *)colorWithHexString:(NSString *)hexString;
+ (UIColor *)colorWithHexString:(NSString *)hexString alpha:(CGFloat)alpha;
@end
.m实现文件
#import "UIColor+tools.h"
@implementation UIColor (tools)
/// 十六进制转换 + 不透明
+ (UIColor *)colorWithHexString:(NSString *)hexString
{
return [self colorWithHexString:hexString alpha:1.0f];
}
// 十六进制转换 + 透明度
+ (UIColor *)colorWithHexString:(NSString *)hexString alpha:(CGFloat)alpha
{
unsigned int red, green, blue;
NSRange range;
range.length =2;
range.location =0;
[[NSScanner scannerWithString:[hexString substringWithRange:range]]scanHexInt:&red];
range.location =2;
[[NSScanner scannerWithString:[hexString substringWithRange:range]]scanHexInt:&green];
range.location =4;
[[NSScanner scannerWithString:[hexString substringWithRange:range]]scanHexInt:&blue];
return [UIColor colorWithRed:(float)(red/255.0f)green:(float)(green/255.0f)blue:(float)(blue/255.0f)alpha:alpha];
}
@end
网友评论