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]