You shouldn't need to subclass the UIButton
class. By design, Objective-C favors composition over inheritance.
UIButton
is a subclass of UIControl
, which has a selected
property. You can use this property to toggle the on/off behaviour of a checkbox, just the same was as a UISwitch
does.
You can attach an action to the button's touched up inside event, and perform the toggling in there, something like this:
- (void)myCheckboxToggle:(id)sender
{
myCheckboxButton.selected = !myCheckboxButton.selected; // toggle the selected property, just a simple BOOL
if (myCheckboxButton.selected)
{
myCheckboxButton.image = checkedImaged;
}
else
{
myCheckboxButton.image = nonCheckedImage;
}
}