的drawRect和Interface Builder之间的色差?(Color difference

2019-06-24 21:20发布

简单地说,我已经在Interface Builder 2次,一个是在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:

所以,在这里我对自己撒谎。“界面生成显示RGB 99,99,99为80,80,80。我敢打赌,它由19抵消号” >> ...使用Xcode的一个绝望的人认为疯狂的事情这样的..结果:

完善!! ,但为什么 ???? 另一个Xcode的错误? 我发现,像那些在过去的一个月的10 ...

Answer 1:

我终于达到了这个应用程序的微调阶段,必须解决这个问题,所以,我搜索,很容易找到了解决办法:

如何输入RGB值到界面生成器?

插图:



Answer 2:

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

因此,为了得到相同的结果界面生成器,你需要使用RGB空间。 更换你的电话与这colorWithWhite:

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


文章来源: Color difference between drawRect and Interface Builder?