在使用绝对路径加载图像时需要一些帮助

时间:2013-03-12 11:08:38

标签: ios uiimageview imageview imagenamed

我有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];
等等......任何人,帮助。 此致

1 个答案:

答案 0 :(得分: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张同名的图像。在构建你的app时,你会收到一个重复的符号警告。

对于内存有效使用pathforresource类型而不是为UIImage命名的映像,因为它将在ViewControllers上有一些缓存内存。

希望它有所帮助!!!