2011-03-17 24 views
0

這一個讓我感到困惑,所以我會嘗試通過年表,讓比我聰明的人可以告訴我我要出錯的地方。未在iPhone上閱讀的圖像文件

一切都在我的應用程序,無論是在設備上和模擬器上完美工作。我有一個圖像文件myimage.png,位於我的項目所在的目錄中,並已添加到項目中。它顯示在XCode和一切。

我構建,運行,並按計劃工作。

然後,我決定在photoshop中變得聰明,並用更多的顏色來調整我的圖像。在查找器中,我從我的項目所在的目錄中刪除了myimage.png。然後我將這個新圖像保存爲myimage.png在同一個目錄中。回到XCode,該文件顯示在項目中,看起來和計劃一樣好。

我構建,運行,沒有圖像顯示。 WTF?!?

這裏是我的兩個問題,按重要性排序:

  1. 我該如何解決這個問題,使我的形象再一次顯示出來?

  2. 在這個過程中做了什麼錯?

謝謝!

編輯:這裏是我調用圖像的代碼。在myViewController.m:

- (void)viewWillAppear:(BOOL)animated { 
    [super viewWillAppear:animated]; 
    // SOME CODE THAT DOES OTHER THINGS UNRELATED TO imageView 
    [imageView setImage:[UIImage imageNamed:@"myimage.png"]]; 
    // MORE CODE THAT DOES OTHER THINGS UNRELATED TO imageView 
} 

ANOTHER編輯:不是我的代碼一個單個字符的應用工作,不工作之間變化。我很欣賞所有的建議,因爲我明顯無法自己弄清這個問題,但問題很可能與代碼無關。

+2

iPhone是區分大小寫的。你必須準確地寫出圖像名稱。 – 2011-03-17 16:09:34

+0

這不是問題,但謝謝您的建議。 – PengOne 2011-03-17 16:13:00

回答

0
  1. 簡單:在Xcode中刪除文件引用和文件本身然後再導入...

  2. MHM ...當你改變圖像的Xcode打開?它可能已經看到它被刪除並丟失了鏈接...如果你改變了它,xCode可以「選擇」在構建項目時不要將其包含在目標mainBundle中...在xCode中選擇文件並查看checkMark目標選擇:

enter image description here

如果沒有它不會被包含在你的應用程序(這回答您的N:1點的問題太)...

可能是一種更好的方式來添加一個資源文件,這個文件可能在將來可能被其他程序修改,而您的項目可以打開(我這樣做的HTML網站包括,JPG和GIF太)是把它們在項目的一個子文件夾,然後所有的文件夾添加到您的Xcode項目,並在對話窗口中進行選擇:

「創建文件夾引用...」

enter image description here

,將創建一個藍色的文件夾在xCode及其所有內容將自動刷新,如果你改變,添加,刪除文件o裏面[R子......

記得,子文件夾將在您的應用程序mainBundle同一棵樹上階,因此,如果您需要加載.png文件,你需要指定在哪裏可以找到它。

PS 還檢查該文件的名稱是完全一樣的舊文件,其中包括大寫字符 (「一」!=「A」)

+0

我試過1,它沒有工作。我喜歡2 ... – PengOne 2011-03-17 16:32:32

+0

@PengOne; mhm ...而且你的代碼在...之前運行良好,而且你沒有改變它?然後..確保你以正確的方式導出你的PNG(它可能不是一個PNG,但只是它的擴展名)...只是猜測...嘗試更改xcode和您的代碼中的fileName ... – meronix 2011-03-17 16:56:18

+0

我'已將您的答案更改爲1,因爲它非常接近,所以我不得不刪除文件以及參考文件。奇怪的,但它的工作。感謝您對此的幫助! – PengOne 2011-03-17 22:06:18

0

我認爲這是因爲Xcode不知道文件已經改變。總是在項目導航器中添加/刪除文件。

它應該工作,如果你乾淨你的項目和再次建立。

+0

XCode可以「看到」新文件,因爲當我在左側的「Groups&Files」下選擇時,顯示的圖像就是新圖像。我試過清理,甚至刪除了構建目錄,但無濟於事。 – PengOne 2011-03-17 16:14:40

0

你需要做一個Build - > Clean。重建。

+0

試過了。沒有工作。我甚至刪除了構建目錄。沒有運氣。 – PengOne 2011-03-17 16:17:41

+0

你能告訴我們你正在使用的代碼嗎? – gnuchu 2011-03-17 16:20:06

+0

是的,但我懷疑它會有幫助。我將編輯我的問題以包含它。 – PengOne 2011-03-17 16:23:41