Вам не нужно создавать подкласс класса UIButton
. По замыслу Objective-C предпочитает композицию наследованию.
UIButton
является подклассом UIControl
, который имеет свойство selected
. Вы можете использовать это свойство для включения / выключения поведения флажка, точно так же, как UISwitch
.
Вы можете прикрепить действие к событию, исправленному внутри кнопки, и выполнить там переключение, что-то вроде этого:
// when you setup your button, set an image for the selected and normal states
[myCheckBoxButton setImage:checkedImage forState:UIControlStateSelected];
[myCheckBoxButton setImage:nonCheckedImage forState:UIControlStateNormal];
- (void)myCheckboxToggle:(id)sender
{
myCheckboxButton.selected = !myCheckboxButton.selected; // toggle the selected property, just a simple BOOL
}