iOS 直接使用16进制颜色
生活随笔
收集整理的這篇文章主要介紹了
iOS 直接使用16进制颜色
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在做iOS開發時,一般我們會吸色,就是產品給的圖我們一般會吸色,但是最近吸色時候,老大說有較大的顏色偏差,所以要求我們直接使用UI給出的額16進制顏色,你也可以搜索《RGB顏色值轉換成十六進制顏色碼:》先把16進制顏色轉換為RGB的然后再寫,但是這樣有點影響開發速度,所以呢就寫了一個UIColor的分類,直接使用16進制的顏色。
UIColor的分類DLColorChange .h文件 #import <UIKit/UIKit.h>@interface UIColor (DLColorChange)// 顏色轉換:iOS中(以#開頭)十六進制的顏色轉換為UIColor(RGB) + (UIColor *) colorWithHexString: (NSString *)color;@end UIColor的分類DLColorChange .m文件 #import "UIColor+DLColorChange.h"@implementation UIColor (DLColorChange)+ (UIColor *) colorWithHexString: (NSString *)color {NSString *cString = [[color stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]] uppercaseString];// String should be 6 or 8 charactersif ([cString length] < 6) {return [UIColor clearColor];}// 判斷前綴if ([cString hasPrefix:@"0X"])cString = [cString substringFromIndex:2];if ([cString hasPrefix:@"#"])cString = [cString substringFromIndex:1];if ([cString length] != 6)return [UIColor clearColor];// 從六位數值中找到RGB對應的位數并轉換 NSRange range;range.location = 0;range.length = 2;//R、G、BNSString *rString = [cString substringWithRange:range];range.location = 2;NSString *gString = [cString substringWithRange:range];range.location = 4;NSString *bString = [cString substringWithRange:range];// Scan valuesunsigned 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:1.0f]; }@end我們可以把
#import "UIColor+DLColorChange.h"寫在pch文件中,這樣我們全局就可以用。調用如下
self.view.backgroundColor=[UIColor colorWithHexString:@"#edae48"];?
轉載于:https://www.cnblogs.com/peaker-wu/p/5694399.html
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的iOS 直接使用16进制颜色的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 從三種方式看SQL的使用程度
- 下一篇: 有了螃蟹让心情好一点