Как мне преобразовать NSString в rgbValue и передать это значение в качестве параметра для UIColorFromRGB? - PullRequest
1 голос
/ 31 марта 2011

Я работаю над приложением, в котором цветовой код, такой как (# ff0000), читается из XML-файла в каталоге документов. Я определил макрос UIColorFromRGB, который также работает нормально, когда я передаю код цвета непосредственно, как показано ниже:

bgView.backgroundColor = UIColorFromRGB (0xff0000);

Что я должен изменить, если я должен передать код, как показано ниже:

bgView.backgroundColor = UIColorFromRGB (mycolor);

где (mycolor) - объект NSString, содержащий значение (# ff0000), полученное из файла xml?

Очень ценю вашу помощь !!!

1 Ответ

3 голосов
/ 31 марта 2011

NSScanner имеет метод -scanHexInt:, который можно использовать для преобразования строки в целое число.

NSScanner *scanner = [NSScanner scannerWithString:mycolor];
if ([scanner scanString:@"#" intoString:NULL]) {
    unsigned int colorValue = 0;
    if ([scanner scanHexInt:&colorValue]) {
        ...
    }
}
...