我有三個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