iOS之保存图片到系统相册和从系统相册选取一张或者多张照片

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS之保存图片到系统相册和从系统相册选取一张或者多张照片相关的知识,希望对你有一定的参考价值。

参考技术A 以下内容是如何把APP中的图片保存到相册中和如何在相册中选取图片(一张或多张)

保存图片到系统相册,这只是简单的把图片保存到系统相册中,

保存图片到相册指定相册里,注意:其实只是把 Camera Roll 的相片又引用到了新的相册里
因为无论什么图片,都会首先保存在 Camera Roll 这个相册,之后根据自己的设置,才会保存
在指定的相册中

导入框架
#import <Photos/Photos.h>
以下总共抽取出来了三个方法,方便点击保存按钮时调用

获取相册中的图片

用到框架和实现协议一些方法

iOS开发之保存照片到系统相册(Photo Album)

iOS开发之保存照片到系统相册(Photo Album)

 

保存照片到系统相册这个功能很多社交类的APP都有的,今天我们简单讲解一下,如何将图片保存到系统相册(Photo Album)。

创建UIImageView

创建UIImageView是为了将照片展示出来,我们是要把UIImage保存到系统相册(Photo Album):

#define SCREEN [UIScreen mainScreen].bounds.size

self.image = [UIImage imageNamed:@"iOSDevTip"];
UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake((SCREEN.width - 300) / 2, 70, 300, 150)];
imageView.image = self.image;
[self.view addSubview:imageView];

创建UIButton

创建UIButton并绑定actionClick:事件:

UIButton *button = [[UIButton alloc] init];
button.frame = CGRectMake( 100, 300, SCREEN.width - 200, 40);
[button addTarget:self action:@selector(actionClick:) forControlEvents:UIControlEventTouchUpInside];
[button setTitleColor:[UIColor blueColor] forState:UIControlStateNormal];
[button setBackgroundColor:[UIColor orangeColor]];
[button setTitle:@"SavePhoto" forState:UIControlStateNormal];
[self.view addSubview:button];


- (void)actionClick:(UIButton *)button
{

}

保存照片到系统相册(Photo Album)

actionClick:方法里调用:

UIImageWriteToSavedPhotosAlbum(self.image, self, @selector(image:didFinishSavingWithError:contextInfo:), NULL);

这个时候,我们想知道保存是否成功,所以需要制定回调方法

// 指定回调方法
- (void)image:(UIImage *)image didFinishSavingWithError:(NSError *)error contextInfo:(void *)contextInfo
{
    if(!error){
        NSLog(@"save success");
    }else{
        NSLog(@"save failed");
    }
}

在这个方法里,我们就知道照片是否保存成功。然后,根据需求来刷新UI线程。用户第一次使用APP的时候,点击SavePhoto按钮的时候,系统会询问权限:

技术分享

Demo地址:iOSStrongDemo 下一篇文章,将会讲如何创建自己的相册并保存照片。

 

以上是关于iOS之保存图片到系统相册和从系统相册选取一张或者多张照片的主要内容,如果未能解决你的问题,请参考以下文章

iOS开发之保存照片到系统相册(Photo Album)

iOS相册(多张图片选取)

苹果怎么把壁纸保存到相册

iOS中获取系统相册中的图片

iOS开发之获取系统相册ALAssetLibrary

为啥手机相册明明有些照片,但是用微信或者QQ发图片的时候找不到?