检测是否使用colorWithPatternImage创建了UIColor

时间:2013-01-18 02:36:38

标签: ios objective-c uicolor

我有UIColor传递给我。我需要检测它是否是纯色(例如,使用colorWithRed:green:blue:alpha:创建),或者它是否是使用colorWithPatternImage创建的颜色。

如何判断UIColor是什么颜色,简单颜色还是其他颜色?

2 个答案:

答案 0 :(得分:7)

您应该能够将 CGColorGetPattern 功能与 CGColor 属性配合使用,并检查 NULL

if( CGColorGetPattern( myColor.CGColor ) != NULL ) {}

答案 1 :(得分:3)

另一种解决方案是检查色彩空间模型:

if (CGColorSpaceGetModel(CGColorGetColorSpace(myColor.CGColor)) == kCGColorSpaceModelPattern)) 
{}