不管UIColor使用CIColor,CGColor还是其他方式初始化的,其CGColor属性都是可用的。CoreGraphics中提供一个函数,用于判断两个CGColor是否相等,因此我们可以通过这个函数判断两个UIColor是否相等,下面是看一个简单的例子:

// 判断两个颜色是否是同一种颜色
if (CGColorEqualToColor([UIColor whiteColor].CGColor, [UIColor colorWithRed:1 green:1 blue:1 alpha:1].CGColor)) {
NSLog(@"The two CGColor is equal!");
}
else {
NSLog(@"The two CGColor is not equal!");
} if (CGColorEqualToColor([UIColor colorWithRed:1 green:1 blue:1 alpha:1].CGColor, [UIColor colorWithRed:1 green:1 blue:1 alpha:1].CGColor)) {
NSLog(@"The two CGColor is equal!");
}
else {
NSLog(@"The two CGColor is not equal!");
} 例子中,第一个if-else代码块是判断两个白色的UIColor对象是否相等,虽然都是白色,但是这两者颜色空间是不一样的,
通过运行我们可以发现,打印出“The two CGColor is not equal!”。 第二if-else代码块则创建了两个RGB空间的UIColor对象,运行程序可以看出,这两种颜色是相同的。
05-26 03:48