У меня есть условие в моем приложении, где пользователь может выбрать 3 цвета, но эти цвета не должны совпадать друг с другом, проблема заключается в том, что пользователь может выбрать такой же цвет из поддона для всех трех полей.Как сравнить два UIColor, которые имеют почти одинаковый оттенок или диапазон в iOS?
Пытаюсь ниже код, здесь цвет2 имеет несколько иное значение «зеленых», чем цвет1: -
UIColor *color1 = [UIColor colorWithRed:1 green:(CGFloat)0.4 blue:1 alpha:1];
UIColor *color2 = [UIColor colorWithRed:1 green:(CGFloat)0.2 blue:1 alpha:1];
if ([color1 isEqual:color2]) {
NSLog(@"equals");
}else {
NSLog(@"not equal");
}
выход: «не равно» Это правильно по логике, поскольку она сравнивает значение RGB, но Я хочу проверить его диапазон, Дайте мне знать, если кто-нибудь знает, как сравнивать похожие цвета.
Try 'CGColorEqualToColor (<# CGColorRef цвет1 #>, <#CGColorRef цвет2 #>);' – Buntylm
метод имеет описание: - «Два цвета равны, если они имеют одинаковые цветовые пространства и численно равные цветовые компоненты ». Он возвращает false, может быть, он не может проверить цветовое пространство, не уверен. – Shrejas