Я думаю, у вас есть два варианта ..
Первый:
Вы можете поместить [девять setBackgroundColor: [UIColor redColor]]; внутри "clickDigit" (и, как dasdom сказал переименовать в sender и изменить на (UIButton *) sender) ..
Изменение
[nine addTarget:self action:@selector(changeButtonBackGroundColor:) forControlEvents:UIControlEventTouchUpInside];
до
[nine addTarget:self action:@selector(changeButtonBackGroundColor:) forControlEvents:UIControlEventTouchUpOutside];
и метод "changeButtonBackGroundColor"
[sender setBackgroundColor:[UIColor cyanColor]];
Второй
создание универсальных событий UIControlEvents
[nine addTarget:self action:@selector(changeButtonBackGroundColor:) forControlEvents:UIControlEventAllEvents];
-(void)changeButtonBackGroundColor:(UIButton*) sender{
if ([sender.backgroundColor isEqual:[UIColor redColor]]){
[sender setBackgroundColor:[UIColor cyanColor]];
}else{
[sender setBackgroundColor:[UIColor redColor]];
}}
Я не пробовал этот код