UIButton图像丢失其新设置的图像

时间:2009-10-02 22:00:14

标签: iphone uiimageview uiimage uibutton

我在IB中设置了一个UIButton(自定义,带有图像),这是我代码中的IBOutlet。

在viewController中的viewDidLoad方法中,我试图更改UIButton的现有图像

UIImage *newbuttonimage = [UIImage imageNamed:@"newbuttonimage.png"];
testbutton.imageView.image = newbuttonimage;

好的,这在启动应用程序时有效,但无论何时与按钮交互(按下它),它都会更改为原始图像(在IB中设置)。在整个项目中没有其他代码可以更改图像,所以发生了什么?

顺便说一句,当我将上述代码放在项目的任何其他部分时,它不会改变图像。

2 个答案:

答案 0 :(得分:9)

您应该尝试使用setImage:forState而不是直接指定图像; UIButton有多种状态,如果设置不当,可能会产生不需要的行为(类似于你所看到的行为)。

答案 1 :(得分:0)

卫生署!我应该使用这个代码:

UIImage *newbuttonimage = [UIImage imageNamed:@"newbuttonimage.png"];
[testbutton setImage:newbuttonimage forState:UIControlStateNormal];