Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 如何获得标签的背景色-iOS 4?_Iphone_Objective C_Xcode - Fatal编程技术网

Iphone 如何获得标签的背景色-iOS 4?

Iphone 如何获得标签的背景色-iOS 4?,iphone,objective-c,xcode,Iphone,Objective C,Xcode,我以为这很简单,但是 如何获取UILabel的背景色(最好是RGB) 我似乎找不到将UIColor转换为RGB的方法或简单方法 谢谢 编辑: 我最终使用了以下代码: CGFloat r,g,b,a; const float* colors=CGColorGetComponents(myLabel.backgroundColor.CGColor); r=colors[0]; g=colors[1]; b=colors[2]; a=colors[3]; 或iOS 5之前的版本: const CGF

我以为这很简单,但是

如何获取UILabel的背景色(最好是RGB)

我似乎找不到将UIColor转换为RGB的方法或简单方法

谢谢

编辑: 我最终使用了以下代码:

CGFloat r,g,b,a;
const float* colors=CGColorGetComponents(myLabel.backgroundColor.CGColor);
r=colors[0];
g=colors[1];
b=colors[2];
a=colors[3];
或iOS 5之前的版本:

const CGFloat *rgba = CGColorGetComponents([bgColor CGColor]);
CGFloat r = rgba[0];
CGFloat g = rgba[1];
CGFloat b = rgba[2];
CGFloat a = rgba[3];
或iOS 5之前的版本:

const CGFloat *rgba = CGColorGetComponents([bgColor CGColor]);
CGFloat r = rgba[0];
CGFloat g = rgba[1];
CGFloat b = rgba[2];
CGFloat a = rgba[3];
分类怎么样

#import <UIKit/UIKit.h>

@interface UIColor (RGBGetters)
-(CGFloat)red;
-(CGFloat)blue;
-(CGFloat)green;
@end


#import "UIColor+RGBGetters.h"

@implementation UIColor (RGBGetters)
-(CGFloat)red
{
    CGFloat r;
    [self getRed:&r green:nil blue:nil alpha:nil];
    return r;
}

-(CGFloat)green
{
    CGFloat g;
    [self getRed:nil green:&g blue:nil alpha:nil];
    return g;
}

-(CGFloat)blue
{
    CGFloat b;
    [self getRed:nil green:nil blue:&b alpha:nil];
    return b;
}
@end
分类怎么样

#import <UIKit/UIKit.h>

@interface UIColor (RGBGetters)
-(CGFloat)red;
-(CGFloat)blue;
-(CGFloat)green;
@end


#import "UIColor+RGBGetters.h"

@implementation UIColor (RGBGetters)
-(CGFloat)red
{
    CGFloat r;
    [self getRed:&r green:nil blue:nil alpha:nil];
    return r;
}

-(CGFloat)green
{
    CGFloat g;
    [self getRed:nil green:&g blue:nil alpha:nil];
    return g;
}

-(CGFloat)blue
{
    CGFloat b;
    [self getRed:nil green:nil blue:&b alpha:nil];
    return b;
}
@end

谢谢,但“getRed…”仅在iOS 5+中可用。谢谢-但现在我在这行中遇到一个错误:
UIColor bgColor=colorLabel.backgroundColor“无法静态分配接口类型”指向“bgColor”…抱歉,在bgColor之前忘记了一个*。现在已修复。谢谢,但“getRed…”仅在iOS 5+中可用。谢谢-但现在我在这行中遇到一个错误:
UIColor bgColor=colorLabel.backgroundColor“无法静态分配接口类型”指向“bgColor”…抱歉,在bgColor之前忘记了一个*。现在修复了。Ooops,也错过了iOS 4部分:/Adam W发布了一个不错的解决方案。(这也可以通过一个类别实现)Ooops,也错过了iOS 4的部分:/但是Adam W发布了一个很好的解决方案。(这也可以通过一个类别实现)