2014-09-02 116 views
0

我有两个用于显示两个背景图像的按钮。当我按buttonOne图像应该出现在它上面,而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到位发件人。 把buttonOne使它无法在每个按钮中使用相同的代码,所以我需要一个可重用的代码来代替buttonOne。

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

+0

多少按钮你有吗? – BHASKAR 2014-09-02 07:01:07

+0

为所有按钮设置“UIControlStateNormal”的一个图像和“UIControlStateSelected”的一个图像,然后更改任何按钮的图像,只需将按钮状态切换为“button.selected = NO'&'button.selected = YES'。 – croyneaus4u 2014-09-02 07:11:38

+0

@BHASKAR我有25个按钮 – amystic 2014-09-02 07:14:28

回答

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

}; 
+0

谢谢,但我不想隐藏按钮,我只是想它没有图像或我的形象。 – amystic 2014-09-02 07:19:04

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]; 
    }