我有三个UIButtons子类(RadioBox)。我正在努力使一次只能选择三个RadioBox中的一个。为此,我有两个委托方法; radioSelectedState和radioUnselectedState。分别调用这些方法来选择和取消选择RadioBox。不幸的是,到目前为止,我的代码只允许一次选择一个按钮,但是如果我取消选择当前选择的按钮,则按钮取消选择而不是保持相同的状态。只允许选择一个UIButton
请你能告诉我我哪里出错了吗?
谢谢先进。
- (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];
}
为什么不使用[分段控制(http://developer.apple.com/library/ios/#documentation/uikit/reference/UISegmentedControl_Class/Reference/UISegmentedControl.html )?它们是为这种应用而设计的。 – Hyperbole 2011-12-19 17:10:52
因为分段控制与我试图实现的完全无关。 – 2011-12-19 21:00:52