drawRect和Interface Builder之间的颜色差异?

简单地说,我在界面生成器中有两个视图,一个是使用界面生成器中的RGB滑块设置为99,99,99的颜色。

在这里输入图像说明

另一个视图以编程方式着色以达到一定的形状。 我用它填充它:

//Obviously, this is in drawRect. [[UIColor leadColor] set]; CGContextEOFillPath(myContext); //And this is a category on UIColor + (UIColor *)leadColor { return [UIColor colorWithWhite:99/255.0 alpha:1.0]; } 

结果:

在这里输入图像说明

为什么这种差异存在?


编辑:(不必要的drawRect代码删除)


EDIT2:

所以,我在这里对自己说谎。“接口build设者显示RGB 99,99,99为80,80,80,我敢打赌,它抵消了数字19。 > … …一个绝望的人使用Xcode认为这样的疯狂的东西..结果:

完善!!

完善!! ,但为什么 ? 另一个Xcode错误? 我发现过去一个月里有10个人

我终于到了这个应用程序的微调阶段,并不得不解决这个问题,所以,我search,很容易find解决scheme:

如何在界面生成器中inputRGB值?

插图:

在这里输入图像说明

colorWithWhite使用灰度空间 ,灰度空间中的99颜色不映射到RGB空间中的(99,99,99)颜色。

所以为了得到和Interface Builder相同的结果,你需要使用RGB空间。 用你的电话代替colorWithWhite:

 [UIColor colorWithRed:99/255.0 green:99/255.0 blue:99/255.0 alpha:1.0]