iOS 生成明亮的随机颜色

899 阅读1分钟

色彩空间-色相(X 轴)、饱和度(Y 轴)和明度(Z 轴)

传入UIView对象,通过指针地址,变换来生成明亮的随机颜色;同时设置背景色。不够灵活。比如想设置UILabel的textColor时,这个方法却设置了背景色。

+ (UIColor*)lv_consistentRandomColorForObject:(UIView *)object {
    NSUInteger uii = (((NSUInteger)object >> 4) % 256);
    CGFloat hue = uii / 255.0;
    UIColor *ret = [UIColor colorWithHue:hue saturation:1.0 brightness:1.0 alpha:1.0];
    object.backgroundColor = ret;
    return ret;
}

传入任意对象,通过指针地址,变换来生成明亮的随机颜色。没有多余操作,更灵活。返回值就是随机颜色,怎么用自己决定。

+ (UIColor*)lv_consistentRandomColorForObject:(id)object {
    NSUInteger uii = (((NSUInteger)object >> 4) % 256);
    CGFloat hue = uii / 255.0;
    UIColor *ret = [UIColor colorWithHue:hue saturation:1.0 brightness:1.0 alpha:1.0];
    return ret;
}

其他写法欢迎评论区见