检查 UIButton 图像
Checking UIButton Image
我正在尝试检查一些 UIButton 图像以查看它们是否是特定图像。如果是,我想将 NSString 设置为一个值,但该值始终为 null。我做错了什么?
if ([self.firstButton.currentImage isEqual:[UIImage imageNamed:@"image"]]
&& [self.secondButton.currentImage isEqual:[UIImage imageNamed:@"another_image"]]
&& [self.thirdButton.currentImage isEqual:[UIImage imageNamed:@"another_image"]]
&& [self.fourthButton.currentImage isEqual:[UIImage imageNamed:@"another_image"]]
&& [self.fifthButton.currentImage isEqual:[UIImage imageNamed:@"another_image"]]) {
self.myString = @"some string";
}
NSLog(@"My String: %@", self.myString);
你可以这样做
[[self.firstButton imageForState:UIControlStateNormal]isEqual:[UIImage imageNamed:@"image"]]
试试这个。这可能会有所帮助。
比较图像内容并非易事,比较内存句柄也不可靠。
尝试将图像转换为 NSData 并相互比较。
{
NSData * const firstButtonImageData = UIImagePNGRepresentation(self.firstButton.currentImage);
NSData * const secondButtonImageData = UIImagePNGRepresentation(self.secondButton.currentImage);
NSData * const myImageData = UIImagePNGRepresentation([UIImage imageNamed:@"image"]);
NSData * const anotherImageData = UIImagePNGRepresentation([UIImage imageNamed:@"another_image"]);
if ([firstButtonImageData isEqualToData:myImageData] &&
[secondButtonImageData isEqualToData:anotherImageData])
{
self.myString = @"some string";
}
NSLog(@"My String: %@", self.myString);
我正在尝试检查一些 UIButton 图像以查看它们是否是特定图像。如果是,我想将 NSString 设置为一个值,但该值始终为 null。我做错了什么?
if ([self.firstButton.currentImage isEqual:[UIImage imageNamed:@"image"]]
&& [self.secondButton.currentImage isEqual:[UIImage imageNamed:@"another_image"]]
&& [self.thirdButton.currentImage isEqual:[UIImage imageNamed:@"another_image"]]
&& [self.fourthButton.currentImage isEqual:[UIImage imageNamed:@"another_image"]]
&& [self.fifthButton.currentImage isEqual:[UIImage imageNamed:@"another_image"]]) {
self.myString = @"some string";
}
NSLog(@"My String: %@", self.myString);
你可以这样做
[[self.firstButton imageForState:UIControlStateNormal]isEqual:[UIImage imageNamed:@"image"]]
试试这个。这可能会有所帮助。
比较图像内容并非易事,比较内存句柄也不可靠。
尝试将图像转换为 NSData 并相互比较。 {
NSData * const firstButtonImageData = UIImagePNGRepresentation(self.firstButton.currentImage);
NSData * const secondButtonImageData = UIImagePNGRepresentation(self.secondButton.currentImage);
NSData * const myImageData = UIImagePNGRepresentation([UIImage imageNamed:@"image"]);
NSData * const anotherImageData = UIImagePNGRepresentation([UIImage imageNamed:@"another_image"]);
if ([firstButtonImageData isEqualToData:myImageData] &&
[secondButtonImageData isEqualToData:anotherImageData])
{
self.myString = @"some string";
}
NSLog(@"My String: %@", self.myString);