@ 7KV7 заставило меня задуматься. У меня есть избранные и игнорируемые кнопки, которые я хочу использовать для отметки любимых картинок и картинок, которые я больше никогда не хочу видеть. Я использовал его метод для инициализации кнопок, а затем немного изменил его метод для включения и выключения кнопок.
В этом примере, если вы пометите изображение как избранное, вы хотите отключить кнопку игнорирования и наоборот. Делегат обрабатывает базу данных.
self.favoriteButton = [UIButton buttonWithType:UIButtonTypeCustom];
self.ignoreButton = [UIButton buttonWithType:UIButtonTypeCustom];
[self.favoriteButton setImage:[UIImage imageNamed:@"Favorite-Selected"]
forState:UIControlStateSelected];
[self.favoriteButton setImage:[UIImage imageNamed:@"Favorite"]
forState:UIControlStateNormal];
[self.ignoreButton setImage:[UIImage imageNamed:@"Ignore-Selected"]
forState:UIControlStateSelected];
[self.ignoreButton setImage:[UIImage imageNamed:@"Ignore"]
forState:UIControlStateNormal];
Если вы просто включаете или выключаете кнопку, вам не нужно делать это свойством, поскольку отправитель buttonPressed знает, какая кнопка была нажата. Мне нужно, чтобы они были собственностью, поскольку я должен сказать противоположной кнопке выключить ее подсветку.
- (void)favoriteIgnore:(UIButton *)buttonPressed {
// Toggle the tapped button
buttonPressed.selected = ( buttonPressed.selected) ? NO : YES;
id <ScoringToolbarDelegate> TB_delegate = _delegate;
// Turn off the other button and call the delegate
if ([buttonPressed.currentTitle isEqualToString:@"favorite"]) {
self.ignoreButton.selected = NO;
[TB_delegate favoriteButtonPressed];
} else {
self.favoriteButton.selected = NO;
[TB_delegate ignoreButtonPressed];
}
}