IOS-从相册选取图片与显示

使用 UIImagePickerController 从相册上传图片

使用方法:

  • 在视图控制器.h 文件中声明代理:
@interface myViewController : ViewController<UIImagePickerControllerDelegate>
// ...
@end
  • 实现必须的代理函数:
#pragma mark - UIImagePickerControllerDelegate
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary<UIImagePickerControllerInfoKey,id> *)info{
    // 选取完图片后切换回原控制器
    [picker dismissViewControllerAnimated:YES completion:nil];
    
    [self.view layoutSubviews];         // 刷新一下页面,不然要半天才自然刷新
	
	// 从参数 info 中将图片取出,并加载到imageView当中
    /* 此处参数 info 是一个字典,下面是字典中的键值 (从相机获取的图片和相册获取的图片时,两者的info值不尽相同)
     * UIImagePickerControllerMediaType; // 媒体类型
     * UIImagePickerControllerOriginalImage;  // 原始图片
     * UIImagePickerControllerEditedImage;    // 裁剪后图片
     * UIImagePickerControllerCropRect;       // 图片裁剪区域(CGRect)
     * UIImagePickerControllerMediaURL;       // 媒体的URL
     * UIImagePickerControllerReferenceURL    // 原件的URL
     * UIImagePickerControllerMediaMetadata    // 当数据来源是相机时,此值才有效
     */
    UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage];

	// 下面就可以将 image 放到 imageView 什么的了 
    imageView *imgTmp = [[imageView alloc] initWithFrame:CGRectMake(0, 0, 95, 95)];
    imgTmp.image = image;
}

  • 进行 ImagePicker 视图模态切换
	UIImagePickerController *pickVC = [[UIImagePickerController alloc] init];
    pickVC.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
    pickVC.delegate = self;
    pickVC.allowsEditing = YES;
    
    // 切换至图片选择控制器
    [self presentViewController:pickVC animated:YES completion:^{}];
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值