- [UIColor WhiteColor]類方法獲取的CGColorGetNumberOfComponents是2 而且打印出來的UIDeviceWhiteColorSpace只有兩個數字
- 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)亮度時會導致崩潰。