iOS中的颜色

最近在改Bug的时候,才注意到iOS 中的颜色竟然也大有文章,特来记录一下。

先说一下问题,因为某界面中有用xib实现的一个view,而这个view 只在UIColletionView的layout 里通过nib 注册使用,为这个xib设置了背景色,然后Cell也设置了背景色(用RGBA的API代码设置的颜色),这两个颜色值一样,但是实际显示出来颜色就是不一样。如下图所示

iOS中的颜色

xib中的RGBA颜色

iOS中的颜色

从上图可以看出,这里的RGB颜色有三种,Adobe RGB、Device RGB、Generic RGB,Xcode 中默认勾选的是Generic RGB。

API中的颜色

我们一般常常会使用+ (UIColor *)colorWithRed:(CGFloat)red green:(CGFloat)green blue:(CGFloat)blue alpha:(CGFloat)alpha; 来自定义颜色。

但是你有没有想过这个Api里使用的是哪种RGB类型呢?

iOS中的颜色

所以,如果我们想要使得xib里的RGB颜色与代码设置的RGB颜色一样,那么我们就需要使用同一种RGB颜色类型。即在xib也选择Device RGB来设置颜色就可以了。

关于iOS中的颜色以前也记录了另一个问题,也是使用RGB颜色解决的,地址是:iOS下使状态栏颜色与H5中背景色一致

上一篇:基于Netty和SpringBoot实现一个轻量级RPC框架-协议篇


下一篇:【纯代码】Swift-自定义PickerView单选(可修改分割线颜色、修改字体大小、修改字体颜色。)(可根据需要自己扩展)