美文网首页
iOS中实现调用系统相机及相册功能

iOS中实现调用系统相机及相册功能

作者: lin_mark | 来源:发表于2018-01-03 11:21 被阅读0次

在iOS中要拍照和录制视频最简单的方式就是调用UIImagePickerController,UIImagePickerController继承与UINavigationController,需要使用代理方法时需要同时遵守这两个协议,以前可能比较多的是使用UIImagePickerController来选择相册图片或者拍摄图片,其实它的功能还能用来拍摄视频。

使用UIImagePickerController拍照或者拍视频主要以下几个步骤:

创建一个全局的UIImagePickerController对象。

指定UIImagePickerController的来源sourceType,是来自UIImagePickerControllerSourceTypeCamera相机,还是来自UIImagePickerControllerSourceTypePhotoLibrary相册。

然后是设置mediaTypes媒体类型,这是录制视频必须设置的选项,默认情况下是kUTTypeImage(注意:mediaTypes的设置是在MobileCoreServices框架下),同还可以设置一些其他视频相关的属性,例如:videoQuality视频的质量、videoMaximumDuration视频的最大录制时长(默认为10s),cameraDevice摄像头的方向(默认为后置相机)。

指定相机的捕获模式cameraCaptureMode,设置mediaTypes后在设置捕获模式,注意的是捕获模式需要在相机来源sourceType为相机时设置,否则会出现crash。

适时的展示UIImagePickerController,然后在相应的代理方法保存和获取图片或视频。

第一步:iOS10之后需要在info中添加权限

1、Privacy - Camera Usage Description  

App需要您的同意,才能访问相机  

2、Privacy - Photo Library Additions Usage Description 

App需要您的同意,才能访问相册   

第二步:在需要调用相机和相册的controller添加头文件和代理

第三步:判断是否有相机和相机使用权限

第四步:调用相机和相册和回调中处理获得的Image

最后,iOS10之后调起手机设置的方式和iOS10之前的不一样,需要先判断手机系统是否大于iOS10,这里直接上代码吧

判断手机系统是否大于ios10

#define IOS_VERSION_10 (NSFoundationVersionNumber > NSFoundationVersionNumber_iOS_9_x_Max)?(YES):(NO)

简单的实现了APP中iOS的相册和相机的调用。

相关文章

网友评论

      本文标题:iOS中实现调用系统相机及相册功能

      本文链接:https://www.haomeiwen.com/subject/qbhhnxtx.html