Обнаружение, если UIColor был создан с colorWithPatternImage

У меня есть UIColor это передается мне. Мне нужно определить, если это простой цвет (например, создан с colorWithRed:green:blue:alpha:) или если это цвет, который был создан с colorWithPatternImage,

Как я могу сказать, какой цвет UIColor есть, простой цвет или иначе?

2 ответа

Решение

Вы должны иметь возможность использовать функцию CGColorGetPattern со свойством CGColor и проверять наличие NULL.

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

Другим решением является проверка модели цветового пространства:

if (CGColorSpaceGetModel(CGColorGetColorSpace(myColor.CGColor)) == kCGColorSpaceModelPattern)) 
{}
Другие вопросы по тегам