У меня есть три подкласса UIButtons (RadioBox) s. Я пытаюсь сделать так, чтобы за один раз можно было выбрать только один из трех радиобоксов. Для этого у меня есть два метода делегата; radioSelectedState и radioUnselectedState. Соответственно, методы вызываются при выборе и отмене выбора RadioBox. К сожалению, мой код пока позволяет выбирать только одну кнопку одновременно, но если я отменил выбор текущей выбранной кнопки, кнопка отменяет выбор, а не остается в том же состоянии.
Пожалуйста, вы можете сказать мне, где я иду не так?
Спасибо заранее.
- (void) radioSelectedState:(RadioBox *) rb {
if (selectedRadios == nil) {
selectedRadios = [[NSMutableArray alloc] init];
}
if ([selectedRadios count] == 0) {
[selectedRadios addObject:rb];
}
else if ([selectedRadios count] == 1 && ![selectedRadios containsObject:rb] ) {
[(RadioBox *) [selectedRadios objectAtIndex:0] setState:RadioBoxStateUnselected];
[selectedRadios removeObjectAtIndex:0];
[selectedRadios addObject:rb];
}
else if ([selectedRadios count] == 1 && [selectedRadios containsObject:rb]) {
return;
}
}
- (void) radioUnselectedState:(RadioBox *) rb {
if ([selectedRadios count] == 1) {
return;
}
[selectedRadios removeObject:rb];
}