2010-08-12 55 views
0

我正在開發iPhone應用程序,但遇到了一個障礙。無法以編程方式在UIImageView(iPhone)中顯示圖像

NSString *fileLocation = [[NSBundle mainBundle] pathForResource:@"happy.1" ofType:@"jpg"]; 
UIImage *new_image = [UIImage imageWithContentsOfFile:fileLocation]; 
[self setImage:new_image]; 

if (new_image == nil) { 
    NSLog(@"can't load image happy.1.jpg"); 
} 
bgImageView.image = image; 

這就是我用來顯示圖像的代碼,但它沒有出現! new_image不是零,我知道它會是如果它無法加載圖像。 bgImageView是一個IBOutlet並在IB中連接。

請告訴我我做錯了什麼。謝謝!

編輯:還有,這並不在模擬器上也不裝置

回答

0

工作image零?

這有什麼錯[UIImage imageNamed:@"happy.1.jpg"]

+0

我會稍後加載許多圖像,所以我想用imageWithContentsofFile將內存救我,從長遠來看。圖像也不是零。 – confusedKid 2010-08-12 17:51:31

0

所以,通常這是因爲圖像沒有得到複製到生成的可執行文件。所以,打開應用程序包,看看他們是否在那裏。

如果那麼也許檢查fileLocation不回來的空/零。

不知」 .1" 是造成問題。嘗試重命名您的圖像文件_1,_2,看看是否修復它。

+0

我打印了fileLocation,它是「/var/mobile/Applications/455212CA-C53C-449F-9125-5C4B0627070F/Mootchi.app/happy_1.jpg」,所以看起來沒問題。我也改名爲happy_1,但仍然沒有。 – confusedKid 2010-08-17 16:48:28

+0

您需要使用調試器並逐步執行此代碼。檢查bgImageView不是零,看它的尺寸,確保它實際上可見。該視圖實際上是否在可見窗口中? 當你做完所有事情時,追蹤這樣的事情的一般規則是:簡化它。一個窗口,一個視圖,一個圖像。得到這個工作,然後讓它更復雜。 – Dad 2010-08-29 19:03:58

0
NSString *fileLocation = [[NSBundle mainBundle] pathForResource:@"happy.1" ofType:@"jpg"]; 
UIImage *new_image = [UIImage imageWithContentsOfFile:fileLocation]; 
bgImageView.image = new_image; 
0

可以使用 imageview.image = [UIImage的imageNamed:@ 「imagename」];

並通過使用相同的,我們可以在每個imageview上顯示大量的圖像。它不會導致內存問題。只需要照顧適當的釋放分配的imageview。

相關問題