在开发中,有时候想要获取到一个文件夹下面的图片资源,比如:在写APP的引导页时,我们获取到一个文件夹下面的所有图片,存放到数组里面,得到图片的个数,这在以后维护起来就非常的方便了!
如果单单是创建一个文件夹的话,获取到的路径是有问题的,此时我们需要创建一个bundle文件,然后拖到自己的工程里面;
首先,我们需要把用到的图片放到一个文件夹下面,然后更改这个文件夹的名字,在原来的文件名字后面添加.bundle,添加完毕之后,会出现一个弹出框,点击使用.bundel的按钮,
点击之后,会生成一个带有.bundle的文件
把这个.bundel的文件拖入到我们的Xcode工程中,然后通过下面的代码,获取到文件里面的图片,并添加到数组里面:
- (void)getPNGPath
{
//得到文件的路径
NSString *path = [[NSBundle mainBundle] pathForResource:@"Guide" ofType:@"bundle"];
//创建文件管理器
NSFileManager *fileManager = [NSFileManager defaultManager];
NSDirectoryEnumerator *enumerator;
enumerator = [fileManager enumeratorAtPath:path];
while((path = [enumerator nextObject]) != nil) {
//把得到的图片添加到数组中
[self.photoArray addObject:path];
}
}
此时我们数组里面存放的就是我们想要的图片,下面就是把图片显示出来,当然此处不能使用[UIImage imageName:@"xxx.png"]的方法来显示图片了,我们需要根据这个图片的路径,去显示图片:
UIImageView *imageView = [[UIImageView alloc] init];
imageView.frame = CGRectMake(100, 300, 120, 120);
//获取图片的路径
NSString *imagePath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:[NSString stringWithFormat:@"Guide.bundle/%@", self.photoArray[i]]];
//根据路径显示图片
imageView.image = [UIImage imageWithContentsOfFile:imagePath];
[self.view addSubview:imageView];