基本上我想做的就是比较一个
在Swift 4中,函数
我尝试过:
layer.fillColor
,它是一个CGColor
,与UIColor.black.cgColor
进行比较。在Swift 4中,函数
CGColorEqualToColor
已经被弃用。我尝试过:
if(layer.fillColor === UIColor.black.cgColor){
return
}
它仍然不起作用。我猜他们必须具有相同的kCGColorSpaceModel。
这是每个颜色在日志中的输出。
<CGColor 0x1c02a15c0> [<CGColorSpace 0x1c02a0a20> (kCGColorSpaceICCBased; kCGColorSpaceModelRGB; sRGB IEC61966-2.1; extended range)] ( 0 0 0 1 )
<CGColor 0x1c008e290> [<CGColorSpace 0x1c02a0f60> (kCGColorSpaceICCBased; kCGColorSpaceModelMonochrome; Generic Gray Gamma 2.2 Profile; extended range)] ( 0 1 )
有什么解决方案吗?
CGColorEqualToColor
与==
存在相同的问题,即它检查颜色空间,因此如果它不被弃用,它也无法解决问题。 - JeremyP