Iphone 如何更改按钮上的图像并隐藏目标C中的下一个?
我有两个按钮Btn1和Btn2,上面有图像Btn1image1.png和Btn2image1.png。 通过单击每个按钮,它必须分别显示Btn1image2.png和Btn2image2.png 而且,如果点击了Btn1,Btn2图像应该是相同的(Btn2image1.png),即 如何做到这一点 我在这里添加我的工作,但在Btn2点击的情况下它不工作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)
-(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:参数的作用!