2

同じ名前のファイルが複数あるため、物理フォルダーを使用して XCode でファイルを整理しています。例: /skin1/navbar.jpg および /skin2/navbar.jpg。

新しいファイルを追加するたびに、それをフォルダーにドラッグできません.XCodeでフォルダーをグループとして追加すると、何らかの形でロックされて変更できないようです. このメソッドで UIImage を初期化しようとすると、nil.

この画像を例として使用します。 ファイルへのパス

完全なツリー

UIImage を作成するには、これを使用しています。

    NSString *skinBasePath = [AppearanceUtils skinBasePath]; // Returns /Users/echilon/Library/Application Support/iPhone Simulator/5.1/Applications/E6C7ECF4-B36A-4092-97BC-CDE2D0A526C2/ReadMeAStory.app/ReadMeAStory/images/skin/wood/
    NSString *bgImagePath = [skinBasePath stringByAppendingPathComponent:@"button_181_43.png"],
             *bgImagePathPressed = [skinBasePath stringByAppendingPathComponent:@"button_181_43_pressed.png"];
    UIImage *bgImage = [UIImage imageWithContentsOfFile:bgImagePath]

null として返されるイメージを実際に作成するまで、デバッガーではすべて問題ないように見えます。

デバッガーでのイメージへのフル パスは/Users/echilon/Library/Application Support/iPhone Simulator/5.1/Applications/E6C7ECF4-B36A-4092-97BC-CDE2D0A526C2/ReadMeAStory.app/ReadMeAStory/images/skin/wood/button_181_43.png.

私は何が欠けていますか?

4

1 に答える 1

0

「images」は単なるグループであり、フォルダーではないため、.../ReadMeAStory.app/ReadMeAStory/images/存在しません。で何をしているの[AppearanceUtils skinBasePath]

たぶんこれが役立ちます: NSString *path=[[NSBundle mainBundle] pathForResource:@"button_181_43" ofType:@"png" inDirectory:@"skin/wood"];

于 2012-08-27T12:02:25.957 に答える