iOS10 UIColor更改

use*_*146 2 colors ios

在Apple开发人员文档中,我在UIColor中找到了一些新东西。

如果您的应用是在iOS 10或更高版本上链接的,并且在iOS 10或更高版本上运行时,则会在扩展颜色空间中创建颜色:

kCGColorSpaceExtendedGray

kCGColorSpaceExtendedSRGB

在扩展的色彩空间中工作时,颜色值不会被钳位以适合色域内部,这意味着组件值可能小于0.0或大于1.0。当在sRGB显示器上显示时,此类颜色不在色域范围内,因此无法准确呈现。但是,当您希望像素格式和表示形式可以轻松转换为其他色彩空间时,扩展色彩空间是有用的工作色彩空间。例如,显示P3颜色空间中不在sRGB色域内的颜色仍可以转换为扩展的sRGB格式。其某些值将超出0.0到1.0范围。但是,当在具有P3显示色域的设备上显示时,它仍将正确呈现。

总而言之,当您需要担心色彩空间时,请将这些扩展的色彩空间用作有效的色彩空间。当您需要担心在特定颜色空间中尽可能接近地表示该颜色时,请将颜色从扩展颜色空间转换为目标颜色空间。

我只是不明白,当我想在Xcode8中调试某些视图的背景时,调试区域显示了UIExtendedGrayColorSpace 0 0。那是什么颜色

Per*_*guy 6

我不是100%肯定,但是从我所看到的...

UIExtendedGrayColorSpace 0 0是“透明”并且 UIExtendedGrayColorSpace 1 1是白色。

  • 同意这一点。顾名思义,灰色颜色空间是灰度颜色空间,它有两个分量:白色和 Alpha。白色分量从黑色 (0) 到白色 (1),Alpha 分量从透明 (0) 到不透明 (1)。因此,“UIExtendedGrayColorSpace 0 0”表示“透明”,因为它是黑色且透明的,而“UIExtendedGrayColorSpace 1 1”表示“白色”,因为它是白色且不透明的。 (2认同)