2009-10-02 68 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];