2

我有 400 张具有重复名称的图像,在我的项目中包含的文件夹中分层划分,现在我想加载具有绝对路径imagenamed的图像,我尝试使用但不是加载图像,而是显示空框。现在我需要一点帮助来了解如何使用绝对路径显示图像。

我的项目的层次结构

Project
     -> Project Files (i-e App Deligate and view controllers)
     -> Resources
            ->Images
                  ->1
                      ->1.jpg
                      ->2.jpg
                      ->3.jpg
                  ->2
                      ->1.jpg
                      ->2.jpg
                      ->3.jpg

我用来加载图像的方法

[self.leftImage setImage:[UIImage imageNamed:@"Images/1/1.jpg"] forState:UIControlStateNormal];

等等......任何一个,帮助。问候

4

1 回答 1

2

根据您的评论

以下方法可能对您有所帮助

- (NSString *)pathForResource:(NSString *)name ofType:(NSString *)ext inDirectory:(NSString *)subpath;
- (NSString *)pathForResource:(NSString *)name ofType:(NSString *)ext inDirectory:(NSString *)subpath forLocalization:(NSString *)localizationName;

- (NSArray *)pathsForResourcesOfType:(NSString *)ext inDirectory:(NSString *)subpath;
- (NSArray *)pathsForResourcesOfType:(NSString *)ext inDirectory:(NSString *)subpath forLocalization:(NSString *)localizationName;

你可以试试这段代码

NSString * sample=[[[NSBundle mainBundle]pathForResource:[NSString stringWithFormat:@"1"] ofType:@".jpg" inDirectory:@"foldername"];
[self.leftImage setImage:[UIImage imageWithContentsOfFile:sample] forState:UIControlStateNormal];

而且你不能有 2 个同名的图像。在构建您的应用程序时,您将收到重复符号警告。

为了节省内存,请使用 pathforresource 类型而不是为 UIImage 命名的图像,因为它将在 ViewControllers 上有一些缓存。

希望能帮助到你 !!!

于 2013-03-12T11:18:27.317 回答