-(IBAction)choiceOne:(id)sender{
if ([Choice2 isSelected]) {
[Choice2 performSelector:@selector(finishHighlight:) withObject:sender afterDelay:0];
score = score -4;
score = score+8;
NSLog(@"Score updated %i touched from choice 1 ",score);
[self performSelector:@selector(doHighlight:) withObject:sender afterDelay:0];
checker =1 ;
}else if ([Choice3 isSelected]) {
[Choice3 performSelector:@selector(finishHighlight:) withObject:sender afterDelay:0];
score = score -2;
score = score+8;
NSLog(@"Score updated %i touched from choice 1 ",score);
[self performSelector:@selector(doHighlight:) withObject:sender afterDelay:0];
checker =1 ;
}
else {
score = score+8;
NSLog(@"Score updated %i touched from choice 1 ",score);
[self performSelector:@selector(doHighlight:) withObject:sender afterDelay:0];
checker =1 ;
}
}
如果从菜单中按下任何其他按钮,我必须从所选按钮完成高亮显示
- (void)doHighlight:(UIButton*)b {
[b setHighlighted:YES];
}
-(void)finishHighlight:(UIButton*)a{
[a setHighlighted:NO];
}
这些是我在上面使用的功能......和
答案 0 :(得分:1)
如果两个按钮都连接到“IBOutlets”,这将非常简单。是吗? 例如:
IBOutlet UIButton * mode1;
IBOutlet UIButton * mode2;
参数a& b在这个特定的......中被忽略了。
-(IBAction) button1Pressed:(id)sender {
[self performSelector:@selector(highlightButton1:) withObject:sender afterDelay:0.0];
}
- (void)highlightButton1:(UIButton *)a {
[mode1 setHighlighted:YES];
[mode2 setHighlited:NO];
}
-(IBAction) button2Pressed:(id)sender {
[self performSelector:@selector(highlightButton2:) withObject:sender afterDelay:0.0];
}
- (void)highlightButton2:(UIButton *)b {
[mode1 setHighlighted:NO];
[mode2 setHighlited:YES];
}
答案 1 :(得分:0)
是的..只需使用迭代来获取按钮并将它们设置为正常或者您可以拥有一个存储上一个选定按钮的实例var。所以你只需要改变这个按钮的状态。因此,由您决定哪种方法更适合您。