简单来说,我在界面生成器中有两个视图,其中一个使用界面生成器中的RGB滑块设置为颜色99,99,99。
另一个视图通过编程实现某种形状并着色。我使用以下代码填充该视图:
结果:
为什么存在这样的差异?
编辑:(不必要的`drawRect`代码已被删除)
编辑2:
所以,我在骗自己……“Interface Builder将RGB 99,99,99显示为80,80,80。我敢打赌它将数字偏移了19个。” >>.>>……一个绝望的人使用Xcode会想出这样疯狂的想法……结果是:
完美!但是,为什么?又是Xcode的错误吗?在过去的一个月中,我发现了大约10个这样的错误……
另一个视图通过编程实现某种形状并着色。我使用以下代码填充该视图:
//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];
}
结果:
![enter image description here](https://istack.dev59.com/L4QPx.webp)
编辑:(不必要的`drawRect`代码已被删除)
编辑2:
所以,我在骗自己……“Interface Builder将RGB 99,99,99显示为80,80,80。我敢打赌它将数字偏移了19个。” >>.>>……一个绝望的人使用Xcode会想出这样疯狂的想法……结果是:
![Perfect!!](https://istack.dev59.com/WzavM.webp)
drawRect
代码,因为这两行与UIGraphicsGetCurrentContext
一起使用时无法将颜色绘制在视图上。 - A-LiveCGContextEOFillPath(myContext);
替换为CGContextFillRect
。更简单,只是为了测试。 - Mazyod[UIColor colorWithRed:99/255.0 green:99/255.0 blue:99/255.0 alpha:1.0]
吗? - ClafouCGContextFillRect(myContext, self.frame);
гЂ‚иҮ·еЏ‘еёѓж‚ЁжӘењЁдҢүз”Ёзљ„д»Әз ЃгЂ‚ - A-Live