处理详情tag的背景色
This commit is contained in:
@@ -11,6 +11,7 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface UIColor (Extension)
|
||||
+ (UIColor *)colorWithHex:(int)hexValue;
|
||||
+ (nullable UIColor *)colorWithHexString:(NSString *)hexString;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
||||
@@ -20,4 +20,25 @@
|
||||
{
|
||||
return [UIColor colorWithHex:hexValue alpha:1.0];
|
||||
}
|
||||
|
||||
+ (UIColor *)colorWithHexString:(NSString *)hexString
|
||||
{
|
||||
if (hexString.length == 0) { return nil; }
|
||||
NSString *clean = [[hexString stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]] uppercaseString];
|
||||
if ([clean hasPrefix:@"#"]) {
|
||||
clean = [clean substringFromIndex:1];
|
||||
} else if ([clean hasPrefix:@"0X"]) {
|
||||
clean = [clean substringFromIndex:2];
|
||||
}
|
||||
if (clean.length != 6 && clean.length != 8) { return nil; }
|
||||
unsigned long long value = 0;
|
||||
NSScanner *scanner = [NSScanner scannerWithString:clean];
|
||||
if (![scanner scanHexLongLong:&value]) { return nil; }
|
||||
if (clean.length == 6) {
|
||||
return [UIColor colorWithHex:(int)value];
|
||||
}
|
||||
CGFloat alpha = ((value & 0xFF000000) >> 24) / 255.0;
|
||||
int rgb = (int)(value & 0xFFFFFF);
|
||||
return [UIColor colorWithHex:rgb alpha:alpha];
|
||||
}
|
||||
@end
|
||||
|
||||
Reference in New Issue
Block a user