UIImagePickerController--查看相册中的照片和视频
2016-10-24 17:50
381 查看
序言
在做项目还是学习过程中,我们经常会碰见这么一个类:UIImagePickerController,它到底是干什么的呢?到底有什么用呢?又怎样用呢?今天就让我们来聊一聊UIImagePickerController这里就讲到了我们经常使用到的一个功能,从相册中查看照片,选中照片的时候可以显示在屏幕上,再者就是查看相册中的视频并且播放,下面让我们来看一下它的简单使用方法。
UIImagePickerController继承于UINavigationController,相册资源的访问可以通过它来获取,它是一个独立的导航控制器,一般而言,我们都是通过模态窗口的方式来弹出。另外,它有两个代理协议:UINavigationControllerDelegate和UIImagePickerControllerDelegate,而图片的选取必须实现UIImagePickerControllerDelegate,以监听选择的资源。
属性介绍:
sourceType有三种类型,分别为:
01、UIImagePickerControllerSourceTypePhotoLibrary,所有同步到iPhone的图片以及用户拍摄的图片在内的任何相册
02、UIImagePickerControllerSourceTypeCamera,允许用户使用iPhone内置的摄像头进行拍照
03、UIImagePickerControllerSourceTypeSavedPhotosAlbum仅含相册
代码:
//选择图片并显示 - (IBAction)selectImage:(UIButton *)sender { //创建图片选择器 UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init]; //设置来源类型 imagePicker.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum; //设置代理 imagePicker.delegate = self; //模态弹出相册 [self presentViewController:imagePicker animated:YES completion:nil]; } //从相册中选择视频并播放 - (IBAction)selectVideo:(UIButton *)sender { UIImagePickerController *videoPicker = [[UIImagePickerController alloc] init]; videoPicker.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum; //设置媒体类型:照片public.image或视频public.movie videoPicker.mediaTypes = @[@"public.movie"]; videoPicker.delegate = self; [self presentViewController:videoPicker animated:YES completion:nil]; } //媒体选取完成后调用的代理方法,info字典中包含了很多数据 - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary<NSString *,id> *)info { NSString *mediaType = info[UIImagePickerControllerMediaType]; //判断是照片or视频 if ([mediaType isEqualToString:@"public.image"]) { UIImage *image = info[UIImagePickerControllerOriginalImage]; self.imgView.image = image; }else if ([mediaType isEqualToString:@"public.movie"]){ NSURL *movieURL = info[UIImagePickerControllerMediaURL]; /** * 这里通过视频的url可以做很多事情,比如转化成NSData数据保存、上传等等,不赘述! */ } [self dismissViewControllerAnimated:YES completion:nil]; } //取消按钮的代理方法 - (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker { NSLog(@"--------图片选择取消"); [self dismissViewControllerAnimated:YES completion:nil]; }
———————————————–end
相关文章推荐
- Swift - 从相册中选择照片并上传(使用UIImagePickerController)
- 视频录制,照片拍摄,保存等,UIImagePickerController
- 【iPhone】UIImagePickerController 查看图片,视频,录像
- UIImagePickerController 查看图片,视频,录像
- 通过UIImagePickerController筛选视频或者照片
- UIImagePickerController相册选择视频
- iOS基础控件-UIImagePickerController 图片查看器,轻松查看本机相册
- 【iPhone】UIImagePickerController 查看图片,视频,录像
- UIImagePickerController 相册取照片
- iOS 拍照和相册获取照片封装UIImagePickerController
- Swift - 使用UIImagePickerController从相册选择照片并展示
- ios 调用系统相机,图库,相册。将照片保存在相册,保存图片在本地,UIImagePickerController
- UIImagePickerController 选照片 拍照 录视频
- 视频录制,照片拍摄,保存等,UIImagePickerController
- UIImagePickerController获取照片的实现,添加overlay方法
- iOS摄像头和相册-UIImagePickerController-浅析
- UIImagePickerController从拍照、图库、相册获取图片
- iOS个人整理15-UIImagePickerController,照片选择器
- iOS摄像头和相册-UIImagePickerController-浅析(转)
- iOS摄像头和相册-UIImagePickerController-浅析