如何用一个按钮控制两个按钮的图像?
问题描述:
我有两个用于显示两个背景图像的按钮。当我按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个按钮,所以哪个按钮的背景我想设置零取决于我的代码;
答
试试这个:
-(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
答
你可以通过这两个按钮,代码给出不同的标签作为波纹管
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];
}
多少按钮你有吗? – BHASKAR 2014-09-02 07:01:07
为所有按钮设置“UIControlStateNormal”的一个图像和“UIControlStateSelected”的一个图像,然后更改任何按钮的图像,只需将按钮状态切换为“button.selected = NO'&'button.selected = YES'。 – croyneaus4u 2014-09-02 07:11:38
@BHASKAR我有25个按钮 – amystic 2014-09-02 07:14:28