检测是否使用colorWithPatternImage创build了UIColor

我有一个UIColor传入我的。 我需要检测它是否是普通的颜色(例如使用colorWithRed:green:blue:alpha: ),或者它是使用colorWithPatternImage创build的颜色。

我怎么知道UIColor是什么颜色,简单的颜色或其他?

您应该能够使用CGColorGetPattern函数与CGColor属性,并检查NULL

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

另一个解决scheme是检查色彩空间模型:

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