系统提供的UIImagePickerController
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);
系统提供的UIImagePickerController的更多相关文章
- 如何在Windows Server 2008 R2没有磁盘清理工具的情况下使用系统提供的磁盘清理工具
今天,刚好碰到服务器C盘空间满的情况,首先处理了临时文件和有关的日志文件后空间还是不够用,我知道清理C盘的方法有很多,但今天只分享一下如何在Windows Server 2008 R2没有磁盘清理工具 ...
- iOS 动态下载系统提供的中文字体
使用系统提供的中文字体,既可避免版权问题,又可以减小应用体积 #pragma mark - 判断字体是否已经被下载 - (BOOL)isFontDownLoaded:(NSString *)fontN ...
- iOS系统提供开发环境下命令行编译工具:xcodebuild
iOS系统提供开发环境下命令行编译工具:xcodebuild[3] xcodebuild 在介绍xcodebuild之前,需要先弄清楚一些在XCode环境下的一些概念[4]: Workspace:简单 ...
- Swift - 访问通讯录联系人(使用系统提供的通讯录交互界面)
1,通讯录访问介绍 通讯录(或叫地址簿,电话簿)是一个数据库,里面储存了联系人的相关信息.要实现访问通讯录有如下两种方式: (1)AddressBook.framework框架 : 没有界面,通过代码 ...
- Android该系统提供的服务--Vibrator(振子)
Android该系统提供的服务--Vibrator(振子) --转载请注明出处:coder-pig Vibrator简单介绍与相关方法: watermark/2/text/aHR0cDovL2Jsb2 ...
- (原)SQL Server 系统提供功能的三个疑惑
本文目录列表: 1.SQL Server系统提供的部分疑惑概述2.系统函数调用时DEFAULT代替可选参数使用不统一3.队列字段列message_enqueue_time记录的是UTC日期时间 4.@ ...
- 选择排序法、冒泡排序法、插入排序法、系统提供的底层sort方法排序之毫秒级比较
我的代码: package PlaneGame;/** * 选择排序法.冒泡排序法.插入排序法.系统提供的底层sort方法排序之毫秒级比较 * @author Administrator */impo ...
- spring security 一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架
Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架.它提供了一组可以在Spring应用上下文中 配置的Bean,充分利用了Spring ...
- UIView封装动画--iOS利用系统提供方法来做转场动画
UIView封装动画--iOS利用系统提供方法来做转场动画 UIViewAnimationOptions option; if (isNext) { option=UIViewAnimationOpt ...
随机推荐
- cocos2dx 帧动画(iOS)
植物大战僵尸的植物摇摆效果 //帧动画 Animation *animation = Animation::create(); Sprite *sprite = Sprite::create(&quo ...
- shell中对于命令的搜寻顺序
当你在shell命令行输入一条命令时,shell的搜寻顺序是如何的呢?当你的脚本名字和shell中的函数名字重名,shell是如何决定运行哪一个的? 在shell中,shell对于命令的搜寻优先级为: ...
- DOM 之Range(范围)
-------<javascript高级程序设计> 12.4 范围 笔记------- DOM2级在Document类型中定义了createRange()方法,在兼容DOM的浏览器中, ...
- MySQL学习笔记(3) - 查询服务器版本,当前时间,当前用户
SELECT VERSION(); --显示当前服务器版本 SELECT NOW(); --显示当前日期时间 SELECT USER(); --显示当前用户 MySQL中语句规范: 1.关键字和函数名 ...
- vagrant 配置文件简析
#自定义box名字 config.vm.box = "website" #以ip192.168.33.10访问 config.vm.network "private_ne ...
- php打印xml格式数据
在你要输出的xml前边加 header("Content-type:text/xml;charset=utf-8"); 这个上边不要有任何输出 打印用echo 别用va ...
- Symfony2 HttpKernel事件驱动
HttpKernel:事件驱动 Symfony2 框架层和应用层的工作都是在 HttpKernel::handle()方法中完成,HttpKernel::handle() 的内部的实现其实 ...
- jQuery读取JSON总结
1.jQuery 部分 <script src="js/jquery.js" type="text/javascript"></script& ...
- webapi 上传图片
需求:上传学员信息时同时上传头像信息,学员基本信息表和科目表为一对多关系表(添加基本信息后添加通过科目信息). 测试: [HttpPost] public string Post() { if ( ...
- 郁闷~win7无法进行局域网访问解决
win7无法进行局域网访问解决 公司里经常会使用网络共享的文件服务器,但是用win7的那伙计,在输入帐号和密码后却提示密码错误,试验了多次都是如此. 经过网上搜索文章及自己的研究最后发现这是由于win ...