UIColor的封装
#import <UIKit/UIKit.h>
?
@interface UIColor (Hex)
?
// 默認(rèn)alpha位1
+ (UIColor *)colorWithHexString:(NSString *)color;
?
//從十六進(jìn)制字符串獲取顏色,
//color:支持@“#123456”、 @“0X123456”、 @“123456”三種格式
+ (UIColor *)colorWithHexString:(NSString *)color alpha:(CGFloat)alpha;
?
@end
?
--------------------.m----------------
?
#import "UIColor+Hex.h"
?
@implementation UIColor (Hex)
?
+ (UIColor *)colorWithHexString:(NSString *)color alpha:(CGFloat)alpha
{
? ? //刪除字符串中的空格
? ? NSString *cString = [[color stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]] uppercaseString];
? ? // String should be 6 or 8 characters
? ? if ([cString length] < 6)
? ? {
? ? ? ? return [UIColor clearColor];
? ? }
? ? // strip 0X if it appears
? ? //如果是0x開頭的,那么截取字符串,字符串從索引為2的位置開始,一直到末尾
? ? if ([cString hasPrefix:@"0X"])
? ? {
? ? ? ? cString = [cString substringFromIndex:2];
? ? }
? ? //如果是#開頭的,那么截取字符串,字符串從索引為1的位置開始,一直到末尾
? ? if ([cString hasPrefix:@"#"])
? ? {
? ? ? ? cString = [cString substringFromIndex:1];
? ? }
? ? if ([cString length] != 6)
? ? {
? ? ? ? return [UIColor clearColor];
? ? }
?? ?
? ? // Separate into r, g, b substrings
? ? NSRange range;
? ? range.location = 0;
? ? range.length = 2;
? ? //r
? ? NSString *rString = [cString substringWithRange:range];
? ? //g
? ? range.location = 2;
? ? NSString *gString = [cString substringWithRange:range];
? ? //b
? ? range.location = 4;
? ? NSString *bString = [cString substringWithRange:range];
?? ?
? ? // Scan values
? ? unsigned 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:alpha];
}
?
//默認(rèn)alpha值為1
+ (UIColor *)colorWithHexString:(NSString *)color
{
? ? return [self colorWithHexString:color alpha:1.0f];
}
?
@end
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/liuzhenjie/p/5371145.html
總結(jié)
以上是生活随笔為你收集整理的UIColor的封装的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用手势,让键盘在点击空白处消失
- 下一篇: 【CentOS7-Python系列】之一