【发布时间】:2014-11-17 21:47:33
【问题描述】:
我想让我的导航栏在每次加载时都变成不同的颜色。我在 viewDidApear 中放置了以下代码:
CGFloat hue = ( arc4random() % 256 / 256.0 ); // 0.0 to 1.0
CGFloat saturation = ( arc4random() % 128 / 256.0 ) + 0.5; // 0.5 to 1.0, away from white
CGFloat brightness = ( arc4random() % 128 / 256.0 ) + 0.5; // 0.5 to 1.0, away from black
UIColor *color = [UIColor colorWithHue:hue saturation:saturation brightness:brightness alpha:1];
self.navigationBar.barTintColor = color;
问题是颜色范围太宽了。
我希望它只选择您在这张照片中看到的颜色:
是否可以使用此代码? + 如果不是,我将如何创建一个类似的颜色,从我定义的几种颜色中选择一种随机颜色。
感谢您的帮助。
【问题讨论】:
-
那些不是随机的颜色。这些是 12 种特定颜色。
-
我的错,需要更好地定义问题。我想投票给你回答,但它被删除了。它起作用了,颜色并不完全相同,但对我来说这是一个非常好的开始。谢谢!
-
在我意识到颜色并不完全是我列出的颜色后,我删除了我的答案。
-
还是谢谢你! :) 你可能知道我将如何找到正确的值吗?例如,我怎么知道@X 是照片中的绿色中学?我会做剩下的:)
-
抱歉,刚刚意识到色相值是个多么愚蠢的问题。谢谢!你的解决方案奏效了!
标签: ios objective-c colors