HEX-значение в Objective -C

Я хочу создать UIColor из HEX-значения. Но мой цвет - это NSString. Итак, я реализую это решение: Как я могу создать UIColor из шестнадцатеричной строки?

код:

#define UIColorFromRGB(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]

А потом у меня есть (упрощение):

NSString *myString = [[NSString alloc] initWithString:@"0xFFFFFF"];

Итак, когда я хочу вызвать макрос:

UIColor *myColor = UIColorFromRGB(myString);

Я получаю сообщение об ошибке:invalid operands to binary expression ('NSString *' and 'int')

Итак, я знаю, что должен передать int, но как преобразовать NSString в int в этом случае? Конечно [myString intValue];здесь не работает.

11
задан Community 23 May 2017 в 12:01
поделиться