// Convert the hexadecimal color (HTML color value) string to uicolor
+ (Uicolor *) hexstringtocolor: (nsstring *) stringtoconvert { Nsstring * cstring = [[stringtoconvert stringbytrimmingcharactersinset: [nscharacterset whitespaceandnewlinecharacterset] uppercasestring]; // String shocould be 6 or 8 characters If ([cstring length] <6) return [uicolor blackcolor]; // Strip 0x if it appears If ([cstring hasprefix: @ "0x"]) cstring = [cstring substringfromindex: 2]; If ([cstring hasprefix: @ "#"]) cstring = [cstring substringfromindex: 1]; If ([cstring length]! = 6) return [uicolor blackcolor]; // Separate into R, G, B substrings Nsange range; Range. Location = 0; Range. Length = 2; Nsstring * rstring = [cstring substringwithrange: range]; Range. Location = 2; Nsstring * gstring = [cstring substringwithrange: range]; Range. Location = 4; Nsstring * bstring = [cstring substringwithrange: range]; // Scan values Unsigned int R, G, B; [[Ns1_scannerwithstring: rstring] scanhexint: & R]; [[Ns1_scannerwithstring: gstring] scanhexint: & G]; [[Ns1_scannerwithstring: bstring] scanhexint: & B]; Return [uicolor colorwithred :( (float) r/255.0f) Green :( (float) g/255.0f) Blue :( (float) B/255.0f) ALPHA: 1.0f]; }