Just use a 'custom' UIButton with images based upon a certain state, for example (this also uses a method that sets alpha and the enabled property for the button):
Code:
-(IBAction)checkboxPressed:(id)sender {
if (!isChecked) {
[self.btnCheckbox setImage:[UIImage imageNamed:@"tickbox_on"] forState:UIControlStateNormal];
[self doAlpha:1.0 :YES :self.btnBuyNow];
isChecked = YES;
} else {
[self.btnCheckbox setImage:[UIImage imageNamed:@"tickbox_off"] forState:UIControlStateNormal];
[self doAlpha:0.75 :NO :self.btnBuyNow];
isChecked = NO;
}
}
-(void)doAlpha:(float)alpha:(BOOL)enabled:(id)UIElement {
[UIElement setEnabled:enabled];
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.2];
[UIView setAnimationDelegate:self];
[UIElement setAlpha:alpha];
[UIView commitAnimations];
}