工具類(為控件設(shè)置色值) - iOS

為了便于日常開發(fā)效率,因此創(chuàng)建了一些小的工具類便于使用.
具體 code 如下:
聲明:

/*
    為控件設(shè)置色值
 */
#import <UIKit/UIKit.h>

@interface UIColor (FYH)


/**
 根據(jù)RGB顏色值生成UIColor

 @param rgbValue    顏色值
 @param alpha       透明度(0-1)之間
 @return            結(jié)果樣式
 */
+ (UIColor *)colorFromRGB:(NSInteger)rgbValue withAlpha:(CGFloat)alpha;
+ (UIColor *)colorFromRGB:(NSInteger)rgbValue;



/**
 根據(jù)十六進(jìn)制顏色值生成UIColor

 @param hexString   十六進(jìn)制色值
 @return            結(jié)果樣式
 */
+ (UIColor *)colorWithHexString:(NSString *)hexString;



/**
 根據(jù)十六進(jìn)制顏色值生成UIColor

 @param hexString   十六進(jìn)制色值
 @param alpha       透明度(0-1)之間
 @return            結(jié)果樣式
 */
+ (UIColor *)colorWithHexString:(NSString *)hexString alpha:(CGFloat)alpha;
+ (UIColor *)colorWithHexStringWithAlpha:(NSString *)hexString;

@end

實(shí)現(xiàn):

#import "UIColor+FYH.h"

@implementation UIColor (FYH)

+ (UIColor *)colorFromRGB:(NSInteger)rgbValue withAlpha:(CGFloat)alpha  {
    return [UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16)) / 255.0
                           green:((float)((rgbValue & 0xFF00) >> 8)) / 255.0
                            blue:((float)(rgbValue & 0xFF)) / 255.0 alpha:alpha];
    
}

+ (UIColor *)colorFromRGB:(NSInteger)rgbValue {
    return [UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16)) / 255.0
                           green:((float)((rgbValue & 0xFF00) >> 8)) / 255.0
                            blue:((float)(rgbValue & 0xFF)) / 255.0 alpha:1.0];
    
}

/**
 * hexString eg. #ff0000
 */
+ (UIColor *)colorWithHexString:(NSString *)hexString {
    return [UIColor colorWithHexString:hexString alpha:1.0];
}

/**
 * hexString eg. #ffffffff
 */
+ (UIColor *)colorWithHexStringWithAlpha:(NSString*)hexString {
    if ([hexString hasPrefix:@"0x"] || [hexString hasPrefix:@"0X"]) {
        hexString = [hexString substringFromIndex:2];
    } else if ([hexString hasPrefix:@"#"]) {
        hexString = [hexString substringFromIndex:1];
    }
    
    unsigned int value = 0;
    BOOL flag = [[NSScanner scannerWithString:hexString] scanHexInt:&value];
    if(NO == flag)
        return [UIColor clearColor];
    float r, g, b, a;
    a = (value & 0x000000FF) / 255.0;
    value = value >> 8;
    b = value & 0x000000FF;
    value = value >> 8;
    g = value & 0x000000FF;
    value = value >> 8;
    r = value;
    
    return [UIColor colorWithRed:r/255.0f green:g/255.0f blue:b/255.0f alpha:a];
}

+ (UIColor *)colorWithHexString:(NSString *)hexString alpha:(CGFloat)alpha {
    if ([hexString hasPrefix:@"0x"] || [hexString hasPrefix:@"0X"]) {
        hexString = [hexString substringFromIndex:2];
    } else if ([hexString hasPrefix:@"#"]) {
        hexString = [hexString substringFromIndex:1];
    }
    
    unsigned int value = 0;
    BOOL flag = [[NSScanner scannerWithString:hexString] scanHexInt:&value];
    if(NO == flag)
        return [UIColor clearColor];
    float r, g, b, a;
    a = alpha;
    b = value & 0x0000FF;
    value = value >> 8;
    g = value & 0x0000FF;
    value = value >> 8;
    r = value;
    
    return [UIColor colorWithRed:r/255.0f green:g/255.0f blue:b/255.0f alpha:a];
}

@end

以上便是此次分享的內(nèi)容,期待大神多多指點(diǎn)補(bǔ)充,使其更加強(qiáng)壯!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子酿炸,更是在濱河造成了極大的恐慌番舆,老刑警劉巖非春,帶你破解...
    沈念sama閱讀 218,525評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件御吞,死亡現(xiàn)場離奇詭異宽堆,居然都是意外死亡郑原,警方通過查閱死者的電腦和手機(jī)唉韭,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,203評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來犯犁,“玉大人属愤,你說我怎么就攤上這事∷嵋郏” “怎么了住诸?”我有些...
    開封第一講書人閱讀 164,862評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長涣澡。 經(jīng)常有香客問我贱呐,道長,這世上最難降的妖魔是什么入桂? 我笑而不...
    開封第一講書人閱讀 58,728評論 1 294
  • 正文 為了忘掉前任奄薇,我火速辦了婚禮,結(jié)果婚禮上抗愁,老公的妹妹穿的比我還像新娘馁蒂。我一直安慰自己,他們只是感情好蜘腌,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,743評論 6 392
  • 文/花漫 我一把揭開白布沫屡。 她就那樣靜靜地躺著,像睡著了一般撮珠。 火紅的嫁衣襯著肌膚如雪沮脖。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,590評論 1 305
  • 那天,我揣著相機(jī)與錄音勺届,去河邊找鬼绷柒。 笑死,一個(gè)胖子當(dāng)著我的面吹牛涮因,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播伺绽,決...
    沈念sama閱讀 40,330評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼养泡,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了奈应?” 一聲冷哼從身側(cè)響起澜掩,我...
    開封第一講書人閱讀 39,244評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎杖挣,沒想到半個(gè)月后肩榕,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,693評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡惩妇,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,885評論 3 336
  • 正文 我和宋清朗相戀三年株汉,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片歌殃。...
    茶點(diǎn)故事閱讀 40,001評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡乔妈,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出氓皱,到底是詐尸還是另有隱情路召,我是刑警寧澤,帶...
    沈念sama閱讀 35,723評論 5 346
  • 正文 年R本政府宣布波材,位于F島的核電站股淡,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏廷区。R本人自食惡果不足惜唯灵,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,343評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望隙轻。 院中可真熱鬧早敬,春花似錦、人聲如沸大脉。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,919評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽镰矿。三九已至琐驴,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背绝淡。 一陣腳步聲響...
    開封第一講書人閱讀 33,042評論 1 270
  • 我被黑心中介騙來泰國打工宙刘, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人牢酵。 一個(gè)月前我還...
    沈念sama閱讀 48,191評論 3 370
  • 正文 我出身青樓悬包,卻偏偏與公主長得像,于是被迫代替她去往敵國和親馍乙。 傳聞我的和親對象是個(gè)殘疾皇子布近,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,955評論 2 355

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,145評論 25 707
  • 《意志力》讀書感想 看了三本關(guān)于意志力的書,寫一寫感想丝格。 英國倡導(dǎo)紳士風(fēng)度撑瞧,一絲不茍,講究品質(zhì)显蝌≡に牛可英國人到了...
    方鴻漸加油努力奮斗閱讀 2,386評論 0 0
  • 偶然間發(fā)現(xiàn)了這個(gè)特別好的軟件――簡書,每天都可以把自己的所見曼尊、所聞酬诀、所感、所悟分享給更多的人骆撇,同時(shí)也可以每...
    月上天心_42bf閱讀 718評論 0 3
  • 缺少這個(gè)艾船,人的能量會(huì)被耗散 一個(gè)人能量的大小葵腹, 看一個(gè)人的內(nèi)心平和能力, 同樣外界也會(huì)對應(yīng)和諧屿岂, 外表越是平靜践宴,祥...
    添財(cái)尊佛閱讀 512評論 0 0
  • 每個(gè)人的生命都受某種力量所驅(qū)使,驅(qū)使是個(gè)動(dòng)詞爷怀,壓力會(huì)驅(qū)使我們阻肩,信念會(huì)驅(qū)使我們,價(jià)值會(huì)驅(qū)動(dòng)我們运授,情緒會(huì)驅(qū)動(dòng)我們烤惊,還有...
    默想者閱讀 354評論 0 0