我将cell.imageView.image与UIImage进行比较,如下面的代码。
请参阅以下代码
UIImage *imgOne = [UIImage imageNamed:@"One"];
if([customCell.imageView.image isEqual: imgOne]){
NSLog(@"Right Image");
}
在调试时,我写为po [customCell.imageView.image isEqual imgOne]
,但它总是返回'nil'。
有谁能告诉我如何比较这种或正确的比较方式?
答案 0 :(得分:5)
通常UIImageView
无法存储图片的文件名,但只存储UIImage
,因此无法获取您在UIImageView
中添加的图片文件名。
如果你只想比较图像文件名,那就无法比较它了。
但是如果你想比较两个UIImage
对象那么
UIImage *secondImage = [UIImage imageNamed:@"image.png"];
NSData *imgData1 = UIImagePNGRepresentation(self.imageView.image);
NSData *imgData2 = UIImagePNGRepresentation(secondImage);
BOOL isCompare = [imgData1 isEqualToData:imgData2];
if(isCompare)
{
NSLog(@"Image View contains image.png");
}
else
{
NSLog(@"Image View doesn't contains image.png");
}
答案 1 :(得分:2)
如果将“image one”维护为成员var。(1)
并将单元格的图像设置为此值。(2)
然后你可以用这两个指针进行比较。(3)
看到这段代码:
//1
self.imgOne = [UIImage imageNamed:@"One"];
//2
customCell.imageView.image=self.imgOne
//3
if(customCell.imageView.image == self.imgOne)
{}
答案 2 :(得分:0)
而不是 Imageview 我尝试使用按钮
而不是我检查如下
if([cell.button.currentImage isEqual: [UIImage imagenamed:"Your Imagenem"]]){
NSLog(@"Right Image");
}
工作正常..
谢谢。