IOS 10宽色:我需要担心吗?

iOS 10的发行说明中有一个标题为“ 宽色”的部分。

令我感到困惑的是这一行: 如果您的应用程序依赖UIKit来钳制组件值(无论您是创建颜色还是询问其组件值的颜色),您需要在链接iOS时更改应用程序的行为10。

钳制元件值意味着什么? 在objective-c或swift中看起来是什么样的,我如何更新它以符合iOS 10中的变化?

这条线在上下文中更有意义:

在iOS 10中, UIColor类使用扩展的sRGB颜色空间,其初始化程序不再将原始组件值限制在0.01.0之间。 如果您的应用依赖UIKit来钳制组件值(无论您是创建颜色还是询问其组件值的颜色),您需要在链接iOS 10时更改应用程序的行为。

“将原始组件值钳制到介于0.01.0之间”意味着当您将旧API传递给0.0以下的值时,它将使用0.0 ,而当您将旧API传递给1.0以上的值时,它将使用1.0

UIKit不再这样做了。 在新的扩展sRGB颜色空间中,像(1.0, 0.0, 0.0) 1.0,0.0,0.0)这样的RGB三元组意味着“像sRGB一样可以获得红色”,但现在也可以创建像(1.1, 0.0, 0.0)那样更红的颜色。

如果在iOS 9或更早版本中您将0.01.0范围之外的值传递给UIColor ,它现在将接受这些值,因此您现在将获得与之前不同的颜色。 如果您之前只传过该范围内的值,那么您就没有任何变化。

正如评论中所指出的, WWDC16会议上有关Wide Color的更多信息。