2009-10-02 59 views
2

我有一个UIButton(自定义,图像)设置在IB这是一个IBOutlet在我的代码。UIButton与图像丢失其新设置的图像

在的viewController我viewDidLoad方法,我试图改变的UIButton

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

OK,启动应用程序时,工程的现有图像,但每当你用按钮(或按它)互动它会更改为原始图像(在IB中设置)。在整个项目中没有其他代码可以改变图像,所以发生了什么?

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

回答

9

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

+0

谢谢,我忘了那个 – cannyboy 2009-10-02 22:12:35

0

Doh!我应该用这个代码代替:

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