如何在触摸时以编程方式更改按钮的背景图像?

时间:2012-07-11 12:02:43

标签: iphone ios ipad background uibutton

我有一个iPhone应用程序,我在其中使用带有背景的IBOutlet按钮。点击它,我打电话给网络服务,并成功,我需要更改按钮的背景。现在我以这种方式这样做但没有发生任何事情:

UIImage *buttonImage = [UIImage imageNamed:@"follow_shop.png"];
[following setBackgroundImage:buttonImage forState:UIControlStateNormal]; 

有人知道如何实现这个目标吗?

3 个答案:

答案 0 :(得分:2)

您在代码中所做的是正确的。你现在可以做三件事(按发现问题的概率递减顺序):

1)如果您最初设置了imagebackgroundImage,请检查您的IB。两者不同,image位于backgroundImage之上(有效呈现backgroundImage隐藏)。这两个(您在IB和代码中设置的图像)应该是一个(imagebackgroundImage)。

2)检查follow_shop.png是否正确。您还可以使用断点查看buttonImage是否有内存。

3)检查您的IB中是否已连接following

答案 1 :(得分:0)

  1. 查看您的IBOutlet是否已正确连接(例如,使用NSLog(@"%@",following);
  2. 重新添加您的图片(例如使用Copy files into destination groups folder
  3. 看看你的目标。您的图片是否在Copy Bundle Resources

答案 2 :(得分:0)

按钮IBOutletIBAction放置此代码

UIImage *buttonImage = [UIImage imageNamed:@"yourimage.png"];
[myButton setBackgroundImage:buttonImage forState:UIControlStateSelected];