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

时间:2016-08-16 19:13:53

标签: ios uicolor

iOS 10的release notes标题为广泛颜色

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

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

1 个答案:

答案 0 :(得分:6)

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

  

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

&#34;将原始组件值钳制到0.01.0&#34; 之间意味着当您向旧API传递的值低于{ {1}},它会使用0.0代替,当您将旧API传递给0.0以上的值时,它会使用1.0

UIKit不再这样做了。在新的扩展sRGB颜色空间中,像1.0这样的RGB三元组意味着&#34;红色和sRGB一样可以得到&#34;但它现在也可以创建像{{1}这样的颜色那些甚至更红

如果您在iOS 9或更早版本中将(1.0, 0.0, 0.0) - (1.1, 0.0, 0.0)范围之外的值传递给0.0,那么它现在会接受这些值,因此您需要这样做现在得到的颜色与以前不同。如果您以前只传过该范围内的值,那么您就没有变化。

正如评论中所述,WWDC16 session on Wide Color中有更多信息。