2014-04-14 101 views
0

爲了說明這個問題,我對Objective-C和Xcode非常陌生。我現在只學了一個星期左右的時間,但我一直在這個問題上停留了幾天。我試圖在UIButton中顯示圖像。我有3種可供選擇,blue.png,purple.png和orange.png。無論我做什麼或者告訴Xcode使用什麼圖像,它只會顯示藍色圖像。我完全刪除了項目中的圖像。我在iOS模擬器中有「重置內容和設置」。這裏到底發生了什麼?在UIButton中顯示圖像

the.h代碼

IBOutlet UIButton *h1; 

the.m代碼

UIImage *buttonImage = [UIImage imageNamed:@"purple.png"]; 
[h1 setImage:buttonImage forState:UIControlStateNormal]; 
[self.view addSubview:h1]; 

無論我引號內指定的圖像,它總是使用blue.png,即使當圖像不再存在在項目中。感謝大家的幫助!

+0

你能夠讓你的圖像顯示在其他地方嗎?你有沒有確保你的形象不是零? – Logan

+0

我知道圖像正在工作,因爲我也顯示背景圖像。如果我更改代碼以使圖像顯示在另一個按鈕上,那麼該按鈕將只顯示藍色圖像。我將使用一個開關和一個隨機按鈕來隨機顯示每個圖像,並且它們都會變成藍色。我也使用orange.png爲ImageView着色,並且工作正常。 – Sevren

回答

2

您必須在故事板或xib文件中將blue.png設置爲背景圖像。寫入NSLog(@「%@」,buttonImage)以確保圖像不是零。請確保您輸入了正確的名稱和擴展purple.png

而且還使用

[h1 setBackgroundImage:buttonImage forState:UIControlStateNormal]; 

代替setImage

+0

我會試一試並回報。 – Sevren

+0

這工作得到的圖像更新和正確顯示!有人可以解釋爲什麼xcode使用的圖像不存在作爲默認?我還必須嘗試在默認顯示之前更改按鈕的圖像。我真的很想更好地理解xcode,它與我用過的其他IDE非常不同。再次感謝,每當我需要它時,我都會幫助我。你搖滾! – Sevren

1

我覺得首先你應該知道其中的差別button.image和按鈕。背景圖。

使用圖像(currentImage)字段,您可以指定一個圖像到 出現在您的按鈕的內容。如果按鈕有一個標題, 此圖像顯示在其左側,否則爲居中。

背景(currentBackgroundImage)字段可以指定一個 圖像出現後面按鈕內容並填充 按鈕的整個幀。

所以你可以使用setImage或setBackgroundImage作爲你想要的。

+0

我會用到的好信息。謝謝! – Sevren