有幾個直接的解決方案。也許他們是不是最佳的,但你可以使用它們:
解決方案一:
與相應的屬性將您的按鈕:
@property (weak, nonatomic) IBOutlet UIButton *button1;
@property (weak, nonatomic) IBOutlet UIButton *button2;
@property (weak, nonatomic) IBOutlet UIButton *button3;
在每個動作變化選擇屬性各按鈕:
- (IBAction)button1Clicked:(UIButton *)sender {
_button1.selected = YES;
_button2.selected = NO;
_button3.selected = NO;
}
Se COND解決方案:
添加所有按鈕的NSArray:
NSArray *buttonsArray = [[NSArray alloc] initWithObjects: button1, button2, button3, nil];
然後用戶可以鏈接所有的按鈕與一個動作:
- (IBAction)buttonClicked:(UIButton *)sender {
for (UIButton *btn in _buttonsArray) {
if (btn == sender)
btn.selected = YES;
else
btn.selected = NO;
}
}
不要忘了讓所有的NSArray的訪問例如通過創建相應的屬性:
@property (weak, nonatomic) NSArray *buttonsArray;
解決方案三:
您可以更改標籤屬性爲每個按鈕(通過界面生成器或代碼):
_button1.tag = 1;
_button2.tag = 2;
_button3.tag = 3;
然後,所有的按鈕與一個動作(就像在前面的例子)鏈接:
- (IBAction)buttonClicked:(UIButton *)sender {
if (sender.tag == 1) {
_button1.selected = YES;
_button2.selected = NO;
_button3.selected = NO;
} else if (sender.tag == 2) {
_button1.selected = NO;
_button2.selected = YES;
_button3.selected = NO;
} else if (sender.tag == 3) {
_button1.selected = NO;
_button2.selected = NO;
_button3.selected = YES;
}
}
第四溶液:(由@ velmurugan-S)
使用一個操作所有按鈕,並設置其默認狀態,以選擇= NO:
- (IBAction)buttonClicked:(UIButton *)sender {
_button1.selected = NO;
_button2.selected = NO;
_button3.selected = NO;
sender.selected = YES;
}
摘要:
我建議你使用第二個解決方案是最優的一個。
其描述使用上的點擊按鈕設置選擇並設置其他人以相同的方法取消選擇 – Seeker