您的位置:首页 > 产品设计 > UI/UE

判断颜色是否相等UIColor

2015-06-24 22:10 459 查看
参考:http://www.cnblogs.com/smileEvday/archive/2011/12/12/2285275.html

只有自己总结记录了才是自己的。

判断颜色是否相等UIColor

不同的颜色的RGBA值不同,因此利用这种方法来判断两种颜色是否相等:

1. 新建工程,在storyboard上拖两个UILabel,并设置背景颜色。



2.对两个UILabel设置property属性

@property (weak, nonatomic) IBOutlet UILabel *color1;

@property (weak, nonatomic) IBOutlet UILabel *color2;

3.对背景颜色的比对函数

<span style="font-size:12px;">- (BOOL)compareRGBAColor1:(UIColor *)color1 withColor2:(UIColor *)color2 {
	
	CGFloat red1,red2,green1,green2,blue1,blue2,alpha1,alpha2;
	//取出color1的背景颜色的RGBA值
	[color1 getRed:&red1 green:&green1 blue:&blue1 alpha:&alpha1];
	//取出color2的背景颜色的RGBA值
	[color2 getRed:&red2 green:&green2 blue:&blue2 alpha:&alpha2];
	
	NSLog(@"1:%f %f %f %f",red1,green1,blue1,alpha1);
	NSLog(@"2:%f %f %f %f",red2,green2,blue2,alpha2);
	
	if ((red1 == red2)&&(green1 == green2)&&(blue1 == blue2)&&(alpha1 == alpha2)) {
		return YES;
	} else {
		return NO;
	}
}</span>
4.输入比对

<span style="font-size:12px;">- (void)viewDidLoad {
	[super viewDidLoad];

	BOOL compareResult = [self compareRGBAColor1:self.color1.backgroundColor withColor2:self.color2.backgroundColor];
	
	if (compareResult) {
		NSLog(@"颜色一致!");
	} else {
		NSLog(@"颜色不一致");
	}
}</span>
注意:

得到的alpha值不是View属性当中的alpha值,而是background->Opacity值。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: