ios - UIColor 显示不完全正确?

标签 ios user-interface uicolor

我在 viewDidLoad 中输入了这个

self.view.backgroundColor = [UIColor colorWithRed:231/255.0 green:77/255.0 blue:77/255.0 alpha:1.0];

并在 xib 中创建标签,设置颜色 e74d4d(转换为 rgb 为 231,77,77)

我想在网站上显示图像,但它告诉我我需要 10 个声誉。

我调试代码,发现这个,

(lldb) po self.view.backgroundColor
UIDeviceRGBColorSpace 0.905882 0.301961 0.301961 1

(lldb) po self.label.textColor
UIDeviceRGBColorSpace 0.87161 0.208926 0.237916 1

this is screenshot of the simulator

this is the code with UIColor

this color setup

i even set this to clear color,but didn't work

最佳答案

当您为 UIColor 传递值时,始终使用浮点值。

self.view.backgroundColor = [UIColor colorWithRed:231.0/255.0 green:77.0/255.0 blue:77.0/255.0 alpha:1.0];

在转换为其他格式时也使用相同的浮点值。

编辑:来自评论。 划分231/255.0和231.0/255.0是一样的。是的,但我已经写过,对于两个值,始终传递浮点值意味着 in。

由于用户没有提供第二次对话,我认为函数使用 255 而不是 255.0 作为结果,它将是一个整数值。

用 RGBFromUIColor 宏一个一个地尝试下面的代码,它会显示不同的输出。

self.titleLabel.backgroundColor = [UIColor colorWithRed:231/255 green:77/255 blue:77/255 alpha:1.0];
self.titleLabel2.backgroundColor = [UIColor colorWithRed:231.0/255.0 green:77.0/255.0 blue:77.0/255.0 alpha:1.0];
self.titleLabel3.backgroundColor = RGBFromUIColor(231, 77, 77);
self.titleLabel4.backgroundColor = RGBFromUIColor(231.0, 77.0, 77.0)

现在假设 RGBFromUIColor 的宏如下所示

#define RGBFromUIColor(r, g, b) \[UIColor colorWithRed:(r)/255.0 green:(g)/255.0 blue:(b)/255.0 alpha:1]

或者像这样

#define RGBFromUIColor(r, g, b) \[UIColor colorWithRed:(r)/255 green:(g)/255 blue:(b)/255 alpha:1]

最后一个 RGBFromUIColor 将不会有相同的值,以防它不被 float 分隔,即 255.0

关于ios - UIColor 显示不完全正确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29409989/

相关文章:

python - gtk python 网格调整大小

ios - Objective-C,边框颜色不适用于 UIColor

ios - 动态改变图形资源颜色的策略

ios - 如何判断颜色格式是RGB还是BGR?

ios - 将ipad连接到蓝牙键盘时,ios的隐藏栏(底部)

css - 有 2 个样式表,一个用于布局,一个用于样式有什么意义?

Java 自定义字体在 html jlabels 中不起作用

ios - IOS private API 会影响应用在App Store 的发布吗?

ios - 使用 iPhone GPS 运行时获得最准确的 "current pace"

ios - 在开发期间禁用解析分析