Objective-C中的HTML转RGB颜色在UIColor中不正确。

12

我需要在我的应用程序中使用自定义颜色。我找到了一些漂亮的HTML颜色并将它们转换为RGB值,然后使用以下方式应用它们:

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

我的应用程序中的颜色不正确。有时候它只是白色,而其他时候它偏离了原来的颜色。红色可能变成黄色等。

有没有人遇到过这种情况?我是否在错误地转换颜色。

3个回答

31

只需将所有颜色值除以255:

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

6
我想补充一下,.0f 后缀非常重要。起初我没有加上它,得到的颜色非常不同。简单地使用 57/255(比如),是不够的。所以对于其他人使用这个答案的,不要像我一样忘记添加 .0f :) - BBog

6

太棒了,谢谢。我如何将我的数字转换为正确的格式? - jim

1

只需在 .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];

1
做一件简单的事情要走这么长的路程。 - Mutawe

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接