Iphone 如何更改按钮上的图像并隐藏目标C中的下一个?

Iphone 如何更改按钮上的图像并隐藏目标C中的下一个?,iphone,objective-c,ios,xcode,Iphone,Objective C,Ios,Xcode,我有两个按钮Btn1和Btn2,上面有图像Btn1image1.png和Btn2image1.png。 通过单击每个按钮,它必须分别显示Btn1image2.png和Btn2image2.png 而且,如果点击了Btn1,Btn2图像应该是相同的(Btn2image1.png),即 如何做到这一点 我在这里添加我的工作,但在Btn2点击的情况下它不工作 -(IBAction)Bt1Click:(id)sender { if (Bt1.selected=YES)

我有两个按钮Btn1和Btn2,上面有图像Btn1image1.png和Btn2image1.png。 通过单击每个按钮,它必须分别显示Btn1image2.png和Btn2image2.png

而且,如果点击了Btn1,Btn2图像应该是相同的(Btn2image1.png),即

如何做到这一点

我在这里添加我的工作,但在Btn2点击的情况下它不工作

    -(IBAction)Bt1Click:(id)sender
    {

        if (Bt1.selected=YES)
        {
            UIImage *buttonImage = [UIImage imageNamed:@"Btn1image2.png"];
            [foodButt setBackgroundImage:buttonImage forState:UIControlStateSelected];

        }
        else
        {
            UIImage *buttonImage = [UIImage imageNamed:@"Btn2image1.png"];
            [foodButt setBackgroundImage:buttonImage forState:UIControlStateNormal];
        }


        [self.searchBaar resignFirstResponder];
    }

    -(IBAction)Btn2Click:(id)sender
    {
       if (Btn2.selected=YES)
       {
           UIImage *buttonImage = [UIImage imageNamed:@"Btn2image2.png"];
           [PeopButt setBackgroundImage:buttonImage forState:UIControlStateSelected];
       }
       else
       {
           UIImage *buttonImage = [UIImage imageNamed:@"Btn1image1.png"];
           [PeopButt setBackgroundImage:buttonImage forState:UIControlStateNormal];
       }

       [self.searchBaar resignFirstResponder];

    }

您正在执行以下操作:

if (Bt1.selected = YES)
if (Bt1.selected == YES)
而不是你认为它在做的事情。上述代码将Bt1的选定属性设置为“是”,您要执行以下操作:

if (Bt1.selected = YES)
if (Bt1.selected == YES)

=
分配,而
=
比较,这是您在此处想要的

在此处尝试此代码您也不会根据需要分别更改图像。。我只是考虑一下你的要求,然后把这段代码贴出来

-(IBAction)Bt1Click:(id)sender
{

    if (Bt1.selected)
    {
        UIImage *buttonImage = [UIImage imageNamed:@"Btn1image2.png"];
        [foodButt setBackgroundImage:buttonImage forState:UIControlStateSelected];
        Bt1.selected = NO;

    }else{

        UIImage *buttonImage = [UIImage imageNamed:@"Btn1image1.png"];
        [foodButt setBackgroundImage:buttonImage forState:UIControlStateNormal];
        Bt1.selected = YES;
    }


    [self.searchBaar resignFirstResponder];
}
-(IBAction)Btn2Click:(id)sender
{

    if (Btn2.selected)
    {
        UIImage *buttonImage = [UIImage imageNamed:@"Btn2image2.png"];
        [PeopButt setBackgroundImage:buttonImage forState:UIControlStateSelected];
        Btn2.selected = NO;

    }else{

        UIImage *buttonImage = [UIImage imageNamed:@"Btn2image1.png"];
        [PeopButt setBackgroundImage:buttonImage forState:UIControlStateNormal];
        Btn2.selected = YES;
    }


    [self.searchBaar resignFirstResponder];
}

我很惊讶这甚至被编译了……你的
if
条件中有一个赋值。这是属性的点语法的一个危险示例:(它将编译(带有警告)它只是不能正常工作。正如警告一样,呃,警告。嘿@Nithin MK只需使用下面的“我的代码”并替换为您的代码。尝试它将符合您的要求…根据button.selected在if子句中调用setBackgroundImage是没有意义的。这就是forState:参数的作用!