如何用一个按钮控制两个按钮的图像?

时间:2014-09-02 06:52:05

标签: ios objective-c xcode button sender

我有两个按钮,用于显示两个背景图像。当我按下按钮时,应该会出现一个图像,而buttonTwo的图像应该消失,反之亦然。

-(IBAction)buttonOne:(UIButton *)sender{

[sender setBackgroundImage:myimage1 forState:UIControlStateNormal];


};

-(IBAction)buttonTwo:(UIButton *)sender{

[sender setBackgroundImage:myimage2 forState:UIControlStateNormal];

};

我不能以这种方式放置代码

-(IBAction)buttonTwo:(UIButton *)sender{

[sender setBackgroundImage:myimage2 forState:UIControlStateNormal];

[buttonOne setBackgroundImage:nil forState:UIControlState Normal];

};

显然我不能代替发件人将发件人放在buttonOne的位置。 putOne使得在每个按钮中使用相同的代码无法使用,所以我需要一个可重复使用的代码来代替buttonOne。

要添加更多,我有25个按钮,所以按钮的背景我想设置为nil取决于我的代码;

2 个答案:

答案 0 :(得分:0)

试试这个:

-(IBAction)buttonOne:(UIButton *)sender{

[sender setBackgroundImage:myimage1 forState:UIControlStateNormal];
[btn_2  setHidden:NO];
[btn_1  setHidden:YES];

};

-(IBAction)buttonTwo:(UIButton *)sender{

[sender setBackgroundImage:myimage2 forState:UIControlStateNormal];
[btn_1  setHidden:NO];
[btn_2  setHidden:YES];

};

答案 1 :(得分:0)

你可以通过给按钮和代码提供不同的标签来实现这一点

if(sender.tag == buttonOne.tag)
    {
        [buttonOne setBackgroundImage:myimage1 forState:UIControlStateNormal];
        [buttonTwo setBackgroundImage:nil forState:UIControlStateNormal];
    }
    else if(sender.tag == buttonTwo.tag)
    {
        [buttonOne setBackgroundImage:nil forState:UIControlStateNormal];
        [buttonTwo setBackgroundImage:myimage2 forState:UIControlStateNormal];
    }