iOS:如何检查按钮背景图像是什么



我正在尝试以下方法,但它不起作用。有没有办法检查我的UIButton的当前背景图像并进行比较?

UIImage *buttonCheckImage = checkButton.currentBackgroundImage;
UIImage *checkImage = [UIImage imageNamed:@"checkBox.png"];
if (buttonCheckImage == checkImage) {
 }
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

希望它工作得很好,试试这个....

.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]; 
}

尝试以下代码,

UIImage *buttonCheckImage = [checkButton imageForState:UIControlStateNormal];
UIImage *checkImage = [UIImage imageNamed:@"checkBox.png"];
if (buttonCheckImage == checkImage) {
}

最新更新