1.从系统相册中读取

/*

判断选择的读取类型是否支持

UIImagePickerControllerSourceTypePhotoLibrary,普通相册

UIImagePickerControllerSourceTypeCamera, 镜头(拍照、录视频)

UIImagePickerControllerSourceTypeSavedPhotosAlbum(自己保存的图片)

*/

if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypePhotoLibrary]) {

self.imagePC = [[UIImagePickerController alloc] init];

_imagePC.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;

//相册操作由代理来监听 取消还是选择完成

_imagePC.delegate = self;

//展示相册

[self presentViewController:_imagePC animated:YES completion:nil];

}

2.拍照录视频

if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) {

self.imagePC = [[UIImagePickerController alloc] init];

_imagePC.delegate = self;

_imagePC.sourceType = UIImagePickerControllerSourceTypeCamera;

//图片 public.image

//视频 public.movie

_imagePC.mediaTypes = @[@"public.movie"];

[self presentViewController:_imagePC animated:YES completion:nil];

}

3.代理

读取图片或者视频 统一回调这个代理

系统相册 一次只能选取一张

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary<NSString *,id> *)info{

[self dismissViewControllerAnimated:YES completion:nil];

NSLog(@"%@", info);

//    UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage];

//    NSData *data = UIImagePNGRepresentation(image);

//    NSUInteger byte = data.length/8;

//    NSUInteger k = byte / 1024;

//    NSUInteger m = k / 1024;

//    NSLog(@"%ld", m);

}

//取消按钮被按了

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

[self dismissViewControllerAnimated:YES completion:nil];

}

4.将图片保存到系统相册

UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil);

转载于:https://www.cnblogs.com/huoran1120/p/5234116.html

系统简单的UIImagePickerController相关推荐

  1. 基于Struct的云和租房系统(简单房屋出租)

    基于Struct的云和租房系统(简单房屋出租) 系统采用javaBean实现ORM对象关系映射,前台纯JSP实现,后台struct映射,适合刚学习J2EE的新手,代码思路清晰,注解详细,数据库用的是m ...

  2. 39条常见的Linux系统简单面试题

    39条常见的Linux系统简单面试题 本文主要分享39条常见的Linux系统简单面试题,其中包括如何看当前Linux系统有几颗物理CPU和每颗CPU的核数.如何实时查看网卡流量为多少等等,希望对你有所 ...

  3. Java消息系统简单设计与实现

    前言:由于导师在我的毕设项目里加了消息系统(本来想水水就过的..),没办法...来稍微研究研究吧..简单简单... 需求分析 我的毕设是一个博客系统,类似于简书这样的,所以消息系统也类似,在用户的消息 ...

  4. linux写入系统状态到文件夹,实验二 Linux系统简单文件操作命令

    *实验二** Linux系统简单文件操作命令 项目内容 这个作业属于哪个课程 这个作业的要求在哪里 学号-姓名 17041518-孙小文 作业学习目标 学习在Linux系统终端下进行命令行操作 :掌握 ...

  5. Android 系统简单介绍

    Android 系统简单介绍 2011年11月20日 写这篇文章的目的是为了给那些刚刚入手安 卓手机的新手们一些参考,希望他们能快速的上手 [第一期]ANDROID基础知识1~20 [第二期]继续泡! ...

  6. “飞天”就是一个操作系统,最重要的功能就是资源管理;这套系统简单说就是把所有资源抽象成一台计算机,并通过互联网提供计算服务。...

    "飞天"就是一个操作系统,最重要的功能就是资源管理:这套系统简单说就是把所有资源抽象成一台计算机,并通过互联网提供计算服务. 转载于:https://www.cnblogs.com ...

  7. 四款python中文分词系统简单测试

    四款python中文分词系统简单测试: 注:中科院分词可采用调用C库的方式使用 纠正下:中科院分词2012支持关键词提取 准确率测试(使用对应项目提供在线测试,未添加用户自定义词典) 结巴中文分词ht ...

  8. 简单的Linux操作命令,Linux系统简单文件操作命令

    项目 内容 作业课程归属 学号-姓名 17041419-刘金林 作业学习目标 1)学习Linux的基本操作命令:2)在终端上运用命令行去实现基本文件操作 1.查看当前目录 问:提示符$与#的区别? 答 ...

  9. slim android7 nexus7,【畅玩7.0】加一直升pure nexus 7.0系统简单教程(1106更新)

    本帖最后由 Mr不将就 于 2017-9-5 08:55 编辑 前言:作为一加老用户,看着广大网友依然坚守在第一代一加的版块,孜孜不倦的为大家搬运资源.分享心得体会,心里真是挺感动的.好久没发帖子了, ...

  10. BCS和ECCS等合并系统简单对比

    ECCS BCS 合并数据来源 Ledger 09->Table GLT3 Ledger 1C->Table ECMCT 其他文本,Excxel,Access数据 FILE这事务码可设置逻 ...

最新文章

  1. 记一次zabbix启动不成功
  2. 来来来,个人blog第一弹——WordPress的Linux运行环境
  3. mysql 过程和函数 变量的值_MySQL数据库提升篇-----存储过程和函数
  4. css 定位兼容性,CSS基础:定位与浏览器兼容性
  5. 用MOS管防止电源反接的原理
  6. 说一说,求一个正整数的二进制中0的个数
  7. mysql定时sql脚本_定时执行的SQL脚本
  8. (72)FPGA模块调用(VHDL调用Verilog)
  9. linux :Tar 命令参数详解
  10. 51Nod-1001 数组中和等于K的数对【排序+二分查找】
  11. yyds!Java 性能优化的 50 个细节(珍藏版)
  12. easyui-textbox锁定按钮不锁定_EU5几乎锁定年度销量冠军,为何北汽新能源却高兴不起来?...
  13. 使用Java 10调用C/C++动态链接库dll之HelloWorld
  14. 第九届大唐杯省赛知识梳理-5G协议与信令(20%)
  15. 象牙大钢琴II压缩版-Synthogy Ivory by JR Samples II Kontakt
  16. php进行url转码,对url中的参数进行转码
  17. 使用pm2部署vue项目
  18. 计蒜客蓝桥杯模拟赛---青出于蓝而胜于蓝
  19. 安卓短信软件_【安卓清理君】极度舒适的垃圾清理工具
  20. java发送会议邀请邮件模板_使用java发送每封电子邮件的日历邀请

热门文章

  1. 订阅个人Blog最新评论的方法
  2. Laravel 的 Redis 使用指南
  3. P3435 [POI2006]OKR-Periods of Words
  4. vue-cli起项目步骤
  5. 数据结构47:查找算法
  6. 移动前端的一些坑和解决方法(外观表现)
  7. 跨浏览器resize事件分析
  8. 例题-Quota 实作:
  9. 【C# RDLC】 RDLC报表的部署问题
  10. RC952-FXE1-BL用户使用手册(存档)