iOS开发中URL图片存储到本地相册与相册访问权限

第一部分

注意 :本段代码 直接放入button点击事件中即可

UIImageView *gtp = [[UIImageView alloc] init];
    ZGLPhotoModel *model = _modelArr[_currentPage];
    [gtp setImageWithURL:[NSURL URLWithString:model.raw_url]];
    UIImageWriteToSavedPhotosAlbum(gtp.image, self, @selector(image:didFinishSavingWithError:contextInfo:), NULL);

第二部分

注意: 本段代码实现获取设备访问相册权限 和提示图片是否保存成功

- (void)image:(UIImage *)image didFinishSavingWithError:(NSError *)error contextInfo:(void *)contextInfo {

    NSString *msg = nil ;
    if(error != NULL){
        msg = @"保存图片失败" ;
        UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"提示" message:msg preferredStyle:UIAlertControllerStyleAlert];
        UIAlertAction *cancel  =[UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:^(UIAlertAction *action) {


        }];
        [alert addAction:cancel];

        [self presentViewController:alert animated:YES completion:^{

        }];

    }else{
        msg = @"保存图片成功!请到相册里查看" ;
        UIImagePickerController *picker = [[UIImagePickerController alloc]init];
        /* 照片是否可以编辑 */
        picker.allowsEditing = YES;
        picker.delegate = self;
        /* 根据照片来源确定AlertAction */
        UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"提示" message:msg preferredStyle:UIAlertControllerStyleActionSheet];
        /* 判断相册是否可以访问 */
        if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypePhotoLibrary]) {
            UIAlertAction *action1 = [UIAlertAction actionWithTitle:@"立即前往" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
                picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
                [self presentViewController:picker animated:NO completion:^{}];
            }];

            [alert addAction:action1];
        }



        UIAlertAction *cancel  =[UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:^(UIAlertAction *action) {


        }];
        [alert addAction:cancel];

        [self presentViewController:alert animated:YES completion:^{

        }];


    }
}

你可能感兴趣的:(IOS开发)