色彩空间-色相(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
}
其他写法欢迎评论区见