我最近一直在试图为使用Interface Builder设置的视图设置相同的背景颜色,并使用[UIColor colorWithRed:green:blue:alpha:]以编程方式设置样式.尽管设置了相同的RGB值,但在IB中设置的视图与在代码中设置样式的视图略有不同.
我终于意识到它与色彩空间有关 – 当我使用颜色选择器检查IB中的视图时,它显示颜色空间设置为’sRGB’而不是UIColor使用的默认的’Generic RGB’.我自己从未改变色彩空间设置.然后我意识到发生的事情是,当您手动输入颜色选择器中的RGB值时,它会将颜色空间更改为“sRGB”,因此您不必知道它们会给出不同的颜色.但是,如果使用鼠标拖动滑块来更改值,则颜色空间保持为“Generic RGB”,一切都很好.