我想根据用户的ID创建颜色代码。我想为每个用户分配颜色。
实际上,我正在开放聊天功能,任何人都可以聊天。我想为每个用户分配动态颜色。有没有办法将用户ID转换为颜色代码或任何其他方式来实现这一目标?
答案 0 :(得分:0)
我认为您应该首先定义颜色列表。 1 - >例如30种颜色。然后只获取userId%30作为将分配给用户的颜色
答案 1 :(得分:0)
将用户ID从0添加到FFFFFF(0到16777215) 然后你可以使用这个宏:
#define UIColorFromHEX(rgbValue) ([UIColor colorWithRed:((float) ((rgbValue & 0xFF0000) >> 16)) / 255.0 \
green:((float) ((rgbValue & 0x00FF00) >> 8)) / 255.0 \
blue:((float) ((rgbValue & 0x0000FF) >> 0)) / 255.0 \
alpha:1.0])
像这样:
UIColor *color = UIColorFromHEX(13094098) //or 0xC7CCD2
抱歉,上面的代码是[objective-c],这在swift中是相同的:
convenience init(red: Int, green: Int, blue: Int) {
assert(red >= 0 && red <= 255, "Invalid red component")
assert(green >= 0 && green <= 255, "Invalid green component")
assert(blue >= 0 && blue <= 255, "Invalid blue component")
self.init(red: CGFloat(red) / 255.0, green: CGFloat(green) / 255.0, blue: CGFloat(blue) / 255.0, alpha: 1.0)
}
convenience init(netHex:Int) {
self.init(red:(netHex >> 16) & 0xff, green:(netHex >> 8) & 0xff, blue:netHex & 0xff)
}