ios7以前使用[uicolor xxxcolor]類方法創建的顏色類型爲 UIDeviceCachedColorSpace

  1. [UIColor WhiteColor]類方法獲取的CGColorGetNumberOfComponents是2 而且打印出來的UIDeviceWhiteColorSpace只有兩個數字

  1. RGBA彩色顏色測試

獲取的CGColorGetNumberOfComponents是4 而且打印出來的UIDeviceWhiteColorSpace只有四個數字

結論:

用[UIColor xxxColor]或者用[UIColor ColorWithWhite:Alpha:]來創建UIColor(UIDeviceWhiteColorSpace),所有CGColorRef的Components只有2 colors components,而CGColorRef的Components有4個 colors components的話是用[UIColor WithRed:Green:Blue:Alpha:]來創建UIColor的(UIDeviceRGBColorSpace),例如上面的[UIColor greenColor]等其他RGB顏色。

PS: 在iOS7以前,通過[UIColor xxxColor]返回的顏色類型爲UIDeviceCachedColorSpace,並不是UIDeviceRGBColorSpace!!!在通過- (BOOL)getHue:(nullable CGFloat *)hue saturation:(nullable CGFloat *)saturation brightness:(nullable CGFloat *)brightness alpha:(nullable CGFloat *)alpha方法獲取H(hues)色相,S(saturation)飽和度,B(brightness)亮度時會導致崩潰。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章