现在的位置: 首页 > 综合 > 正文

iOS 访问手机相册以及从相册获取相片

2017年11月26日 ⁄ 综合 ⁄ 共 1427字 ⁄ 字号 评论关闭

在iOS中经常会需要访问相册图片,在本文总结访问相册的步骤

1.创建UIImagePickerController对象 

2.设置该对象的参数以及委托对象

3.实现协议回调方法

特别注意:因为UIImagePickerController继承UINavigationController类,所以需要实现

UIImagePickerControllerDelegate、

 //访问手机相册
    //创建UIImagePickerController对象
    UIImagePickerController *pickController = [[UIImagePickerController alloc] init];
    /**
     设置pickController读取相册资源类型(默认资源)
     共有三种选择:
     UIImagePickerControllerSourceTypePhotoLibrary,
     UIImagePickerControllerSourceTypeCamera,
     UIImagePickerControllerSourceTypeSavedPhotosAlbum
     */
    [pickController setSourceType:UIImagePickerControllerSourceTypePhotoLibrary];
    //设置代理
    pickController.delegate = self;
    //视图跳转
    [self presentViewController:pickController animated:YES completion:^{
        NSLog(@"加载图片成功");
    }];
//协议实现
#pragma mark - UIImagePickerControllerDelegate
//选择
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
    //UIImagePickerControllerOriginalImage 是框架定义的提取选中的图片资源的 key
    UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage];
    
    _slectImageView.image = image;
    
    [picker dismissViewControllerAnimated:YES completion:nil];
}

//取消选择
- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker
{
    //取消相册的显示
    [picker dismissViewControllerAnimated:YES completion:nil];
    
}

UINavigationControllerDelegate协议

//获取选择的图片

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info;

//退出访问相册

- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker;

示例代码:

抱歉!评论已关闭.