iOS 获取本地图片资源

在开发中,有时候想要获取到一个文件夹下面的图片资源,比如:在写APP的引导页时,我们获取到一个文件夹下面的所有图片,存放到数组里面,得到图片的个数,这在以后维护起来就非常的方便了!

如果单单是创建一个文件夹的话,获取到的路径是有问题的,此时我们需要创建一个bundle文件,然后拖到自己的工程里面;


首先,我们需要把用到的图片放到一个文件夹下面,然后更改这个文件夹的名字,在原来的文件名字后面添加.bundle,添加完毕之后,会出现一个弹出框,点击使用.bundel的按钮,

iOS 获取本地图片资源_第1张图片
image

点击之后,会生成一个带有.bundle的文件

iOS 获取本地图片资源_第2张图片
image

把这个.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];

你可能感兴趣的:(iOS 获取本地图片资源)