0

I am trying the following method ,but it isn't work. Is there a way I can check what my current background image is for my UIButton and compare it?

UIImage *buttonCheckImage = checkButton.currentBackgroundImage;
UIImage *checkImage = [UIImage imageNamed:@"checkBox.png"];

if (buttonCheckImage == checkImage) {

 }
rmaddy
  • 314,917
  • 42
  • 532
  • 579

3 Answers3

1
this works using
 [ UIImagePNGRepresentation( uiImage1 ) isEqualToData: 
      UIImagePNGRepresentation( uiImage2 ) ];


UIImage *buttonCheckImage = [self.btn_Checkbox imageForState:UIControlStateNormal];
UIImage *checkImage = [UIImage imageNamed:@"checkbox"];
        if([UIImagePNGRepresentation(buttonCheckImage) isEqualToData:UIImagePNGRepresentation(checkImage)])
{
        self.btnImage = [UIImage imageNamed:@"checkbox1"];
    } 
else
 {
        self.btnImage = [UIImage imageNamed:@"checkbox"];
    }
    [self.btn_Checkbox setImage:self.btnImage forState:UIControlStateNormal];

using : http://stackoverflow.com/questions/14078283/comparing-two-images-whether-same-or-not-ios
developerr
  • 35
  • 1
  • 9
0

Hope its working well try this....

.h

@property (weak, nonatomic) IBOutlet UIButton *checkButtonObj;
 -(IBAction)buttonClick:(id)sender;

.m

-(void)viewDidLoad {
[super viewDidLoad];
[self.checkButtonObj setImage:[UIImage imageNamed:@"correct.png"] forState:UIControlStateNormal];
}

-(IBAction)buttonClick:(id)sender {
if ([self.checkButtonObj.imageView.image isEqual:[UIImage imageNamed:@"correct.png"]])
    [self.checkButtonObj setImage:[UIImage imageNamed:@"wrong.png"] forState:UIControlStateNormal];
else
    [self.checkButtonObj setImage:[UIImage imageNamed:@"correct.png"] forState:UIControlStateNormal]; 
}
joel prithivi
  • 340
  • 2
  • 13
-2

Try the following code,

UIImage *buttonCheckImage = [checkButton imageForState:UIControlStateNormal];
UIImage *checkImage = [UIImage imageNamed:@"checkBox.png"];

if (buttonCheckImage == checkImage) {

}
Christian
  • 382
  • 2
  • 11