0
-(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];

}

这些是我在上面使用的功能......和

4

2 回答 2

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];
}
于 2012-07-09T11:36:22.063 回答
0

是的..只需使用迭代来获取按钮并将它们设置为正常,或者您可以拥有一个实例变量来存储先前选择的按钮。所以你只需要改变这个按钮的状态。因此,由您决定哪种方法更适合您。

于 2012-07-09T11:31:28.913 回答