相关疑难解决方法(0)

如何比较UIColors?

我想在UIImageView上检查背景的颜色集.我试过了:

if(myimage.backgroundColor == [UIColor greenColor]){
...}
else{
...}
Run Code Online (Sandbox Code Playgroud)

但这不起作用,即使我知道颜色是绿色,它总是落入其他部分.

还有,有办法在调试控制台中输出当前颜色.

p [myimage backgroundColor]
Run Code Online (Sandbox Code Playgroud)

po [myimage backgroundColor]
Run Code Online (Sandbox Code Playgroud)

不工作.

cocoa-touch objective-c uiimageview uicolor ios

125
推荐指数
7
解决办法
5万
查看次数

比较UIColors或CGColor或CGColorSpace

我在比较UIColors时遇到了问题.我有一个图像,我已成功提取用户点击的图像上的颜色.现在我想将这种颜色与其他颜色进行比较,但是我得到了一些奇怪的结果.这是我尝试过的:

    CGColorRef pixelColor = [[buttonImage colorAtPixel:point] CGColor];
UIColor* color = [UIColor colorWithCGColor:pixelColor];
UIColor* aqua = [UIColor colorWithRed:0.521569 green:0.768627 blue:0.254902 alpha:1];
if (CGColorEqualToColor(color.CGColor, aqua.CGColor)) {
    DLog(@"Apparently, it works");
}
DLog(@"%@", color.CGColor);
DLog(@"%@", aqua.CGColor);
Run Code Online (Sandbox Code Playgroud)

输出:

2011-05-21 19:48:27.144 Coffee[66860:207] -[DescriptorsViewController touchesEnded:withEvent:] <CGColor 0x4d1eb80> [<CGColorSpace 0x4d1a070> (kCGColorSpaceDeviceRGB)] ( 0.521569 0.768627 0.254902 1 )
2011-05-21 19:48:27.145 Coffee[66860:207] -[DescriptorsViewController touchesEnded:withEvent:] <CGColor 0x4d1f750> [<CGColorSpace 0x4d1a070> (kCGColorSpaceDeviceRGB)] ( 0.521569 0.768627 0.254902 1 )
Run Code Online (Sandbox Code Playgroud)

看起来CGColor地址不同,但CGColorSpaces是一样的,但我无法弄清楚如何比较CGColorSpaces

我也试过这个:

CGColorRef pixelColor = [[buttonImage colorAtPixel:point] CGColor];
UIColor* color = [UIColor colorWithCGColor:pixelColor];
UIColor* aqua …
Run Code Online (Sandbox Code Playgroud)

uicolor ios

14
推荐指数
2
解决办法
1万
查看次数

标签 统计

ios ×2

uicolor ×2

cocoa-touch ×1

objective-c ×1

uiimageview ×1