【问题标题】:How do i control images of two button with one button?如何用一个按钮控制两个按钮的图像?
【发布时间】:2014-09-02 06:52:05
【问题描述】:

我有两个按钮,用于显示两个背景图像。当我按下 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];

};

很明显,我不能用 sender 代替 buttonOne 代替 sender。 放置 buttonOne 会导致无法在每个按钮中使用相同的代码,因此我需要一个可重用的代码来代替 buttonOne。

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

【问题讨论】:

  • 你有几个按钮?
  • 为所有按钮设置UIControlStateNormal 一张图片和UIControlStateSelected 一张图片,然后更改任何按钮的图片,只需将按钮状态切换为button.selected = NObutton.selected = YES。跨度>
  • @BHASKAR 我有 25 个按钮
  • 感谢 croyenaus4u 和 BHASKAR

标签: ios objective-c xcode button sender


【解决方案1】:

试试这个:

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

};

【讨论】:

  • 谢谢,但我不想隐藏按钮,我只想让它没有图像或我的图像。
【解决方案2】:

您可以通过为按钮和代码赋予不同的标签来做到这一点

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-12
    • 1970-01-01
    相关资源
    最近更新 更多