2009-08-26 7 views
2

私のアプリは、リモートサーバーから小さな画像ファイルをダウンロードし、アプリにあらかじめインストールされている他の小さな画像ファイルとともに表示しようとしています。私は画像を取得するために[UIImage imageNamed:@ "TheImageName.png"]を使用しています(詳細は下記参照)。あらかじめインストールされている画像は期待通りに表示されますが、私のアプリの「Documents」ディレクトリにある画像はどこに見つからないのですか? 'Documents'や他の方法でイメージに-imageNamedを使うべきですか?UIImageの-imageNamed:メソッドは、 'Documents'に保存されている画像ファイルに対して機能しますか?

UIImage* documentsImage = [UIImage imageNamed:@"TheImageName.png"]; 
UIImageView* anImageView = [[UIimageView alloc] initWithImage:documentsImage]; 
[self.view addSubview:anImageView]; 

答えて

2

ああ、心配しないでください。私は[UIImage imageWithContentsOfFile:filePath]を使用してこれが動作することを発見しました。 imageNamedは単にnilを返します。

+1

うん、imageNamed:は画像を読み込むだけでなく、メモリにもキャッシュすることに注意してください。一方、imageWithContentsOfFile:はしません。 – pablasso

2

いいえ、+imageNamed:は、アプリケーションバンドルからの画像のみを読み込みます。

また、そのクラスメソッドを使用する場合は、.png拡張子を含めないでください。

+1

より具体的には、「iOS 4以降では、ファイルがPNG形式であれば、.PNGファイル拡張子を指定する必要はありません.iOS 4より前には、ファイル名拡張子を指定する必要があります。 - http://developer.apple.com/library/ios/documentation/UIKit/Reference/UIImage_Class/Reference/Reference.html#//apple_ref/occ/clm/UIImage/imageNamed: –

関連する問題