【发布时间】:2016-09-18 08:44:15
【问题描述】:
在 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。那是什么颜色呢?
【问题讨论】:
-
我正在为类似的问题苦苦挣扎,正是我需要知道 UITabBar 的默认背景颜色(浅色样式)。