2011-09-09 30 views
9

我需要在我的应用程序中使用自定义颜色。我发现一些不错的HTML的颜色和它们转换为RGB值,然后用应用它们:Objective-c HTML-> RGB颜色在UIColor中不正确

[UIColor colorWithRed:235 green:242 blue:212 alpha:1] 

的问题是在我的应用程序所产生的颜色是不正确的。有时它只是白色的,有时候它只是离开。红色可能是黄色等。

有没有人遇到过这个?我是不正确地转换颜色还是其他东西?

回答

28

只需通过255把所有你的颜色值:

[UIColor colorWithRed:235/255.0f green:242/255.0f blue:212/255.0f alpha:1] 
+4

我只是想补充一点,.0f后缀非常重要。我起初没有使用过你的代码,而我得到的颜色却非常不同。简单地使用57/255(比方说),不会削减它。所以对于其他人使用这个答案,不要忘了添加.0f,不像我:)) – BBog

5

参数的有效值范围为+colorWithRed:green:blue:alpha:is 0 to 1。假设你的RGB值有0到255的范围内,你的例子是:

[UIColor colorWithRed:0.92f green:0.95f blue:0.83f alpha:1.f]; 
+0

伟大的东西,谢谢。我如何将数字转换成正确的格式? – conor

+2

将它们除以255. –

0

只需在.M使用此方法

-(float)getColorValue:(float)colorVal 
{ 
    return colorVal/255; 
} 
在.H

-(float)getColorValue:(float)colorVal 

声明定义

例子:

[UIColor colorWithRed:[self getColorValue:227] green:[self getColorValue:227] blue:[self getColorValue:227] alpha:1.0]; 
+0

做一个简单的事情是一个很长的路要走 – Mutawe