ios 16進製制顏色的巨集
// 引數格式為:0xffffff 16進製制
#define kcolorwithrgb(rgbvalue) \
[uicolor colorwithred:((float)((rgbvalue & 0xff0000) >> 16)) / 255.0 \
green:((float)((rgbvalue & 0xff00) >> 8)) / 255.0 \
blue :((float)(rgbvalue & 0xff)) / 255.0 alpha:1.0]
kcolorwithrgb(0xff0000); 相當於 [uicolor redcolor];
// 引數格式為:222,222,222
#define uicolorwithrgb(r, g, b) [uicolor colorwithred:(r) / 255.f green:(g) / 255.f blue:(b) / 255.f alpha:1.f]
很多地方我們都使用16進製制顏色,但iphone使用的是uicolor物件,不直接支援16進製制顏色,為此,需要我們手動將16進製制顏色轉換為uicolor。
- (uicolor *)getcolor:(nsstring*)hexcolor
[self.view setbackgroundcolor:[self getcolor:@"ff0000"]];
個面試題:使用內聯函式把@「#ff3344」轉成uicolor
- (uicolor *) stringtocolor:(nsstring *)str
unsigned red,green,blue;
nsrange range;
range.length = 2;
range.location = 1;
[[nsscanner scannerwithstring:[str substringwithrange:range]] scanhexint:&red];
range.location = 3;
[[nsscanner scannerwithstring:[str substringwithrange:range]] scanhexint:&green];
range.location = 5;
[[nsscanner scannerwithstring:[str substringwithrange:range]] scanhexint:&blue];
uicolor *color= [uicolor colorwithred:red/255.0f green:green/255.0f blue:blue/255.0f alpha:1];
return color;
}0xff0000 或 #ff0000(#為特殊字元 有可能把這種為空) 或ff0000
+ (uicolor *) colorwithhexstring: (nsstring *)color
{nsstring *cstring = [[color
stringbytrimmingcharactersinset:[nscharacterset
iOS 16進製制顏色和UIcolor的轉換
各種顏色之間的轉換,會陸續更新,實現了 16進製制顏色 hex rgba hsba uicolor之間的 相互轉換 使用示例 加號方法,類名呼叫 1 uicolor 轉 rgb hsb 2 rgbacolor colora colorconversion uicolortorgba uicolor ...
iOS開發 16進製制顏色轉換
專案中經常會用到顏色轉換,有的是通過十六進製制轉成數字轉顏色,想簡單的點直接通過字串轉一下,簡單擴充套件了一下分類uicolor,如下 uicolor colorwithhex nsstring hexcolor ios技術交流 228407086 uicolor colorwithhex nsst...
16進製制顏色
r g b 紅 綠 藍 0 0 0 偏向色系 顏色寫法一般有 background red background ff0000 background rgb 255,0,0 background red 是直接用對應的英語單詞 background ff0000 是用16進製制來表達顏色 也可以寫成...