日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

UIColor的封装

發布時間:2025/4/16 编程问答 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 UIColor的封装 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

#import <UIKit/UIKit.h>

?

@interface UIColor (Hex)

?

// 默認alpha1

+ (UIColor *)colorWithHexString:(NSString *)color;

?

//從十六進制字符串獲取顏色,

//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];

}

?

//默認alpha值為1

+ (UIColor *)colorWithHexString:(NSString *)color

{

? ? return [self colorWithHexString:color alpha:1.0f];

}

?

@end

?

?

轉載于:https://www.cnblogs.com/liuzhenjie/p/5371145.html

總結

以上是生活随笔為你收集整理的UIColor的封装的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。