Из-за того, как это работает, + (UIColor *)colorWithHue:(CGFloat)hue saturation:(CGFloat)saturation brightness:(CGFloat)brightness alpha:(CGFloat)alpha
фактически не использует значения HSBA для внутреннего использования; это просто оболочка вокруг цветового пространства RGB устройства.
Я думаю, что в экстремальных случаях, безусловно, были бы шансы, что постоянная H / B / A + 0,75–1 S дает цвета, которые настолько мало различаются, что становятся незаметными, несмотря на то, что компоненты цвета отслеживаются в цифровом виде в виде очень точных плавающих элементов , По мере снижения насыщенности количество «доступных» цветов уменьшается (так как на дисплее может отображаться только столько цветов, при уменьшении насыщенности сжимаются используемые цвета), и вероятность столкновения просто возрастает.
Учитывая, что в вашем сценарии используются цвета H0-1, B1, A1, что почти опровергает мое предположение, мне было любопытно, и я сделал тестовый проект; однако цвета работали правильно. Я использую iOS 4 SDK GM, поэтому, возможно, будет полезно, если мы узнаем, с каким SDK вы работаете.