去网上找了下,主要是这种方法:
CGFloat R, G, B;
UIColor *uiColor = [lblDate textColor];
CGColorRef color = [uiColor CGColor];
int numComponents = CGColorGetNumberOfComponents(color);
if (numComponents == 4)
{
const CGFloat *components = CGColorGetComponents(color);
R = components[0];
G = components[1];
B = components[2];
}
但是这个方法有个问题,就是对非rgb分量的无法获取到,比如[UIColor blackColor]就无法获取到。
果然编程方面的东西国外回答的好,地址:http://stackoverflow.com/questions/4700168/get-rgb-value-from-uicolor-presets
- (void)getRGBComponents:(CGFloat [3])components forColor:(UIColor *)color {
CGColorSpaceRef rgbColorSpace = CGColorSpac