iOS10 拍照打开相册选择图片

2023-10-08 01:38

本文主要是介绍iOS10 拍照打开相册选择图片,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

配置权限

参考: http://blog.csdn.net/riven_wn/article/details/60771097

重要说明

在使用相机或相册的之前最好进行系统权限判断, 如果相机权限用户未允许,会出现打开相机无法拍照的情况,相册权限关闭的情况下,会有个系统的默认提示,但用户体验都不算太好。

首先要先做以下步骤
1.引入 AVFoundation.framework
2.导入头文件 import AVFoundation 、 import Photos
然后进行判断判断之后如果发现用户关闭了权限,可弹出 alert 告诉用户跳转到当前应用的系统设置里进行开启

访问相册或相机获取图片

开始之前应遵循以下几个代理 UIImagePickerControllerDelegate,UIActionSheetDelegate,UINavigationControllerDelegate
这里我直接跳转了,用的时候你可以在跳转之前加个 alert
//访问相册func visitAlbum() {var sheet:UIActionSheet?if(UIImagePickerController.isSourceTypeAvailable(UIImagePickerControllerSourceType.camera)){sheet = UIActionSheet(title: nil, delegate: self, cancelButtonTitle: "取消", destructiveButtonTitle: nil, otherButtonTitles: "从相册选择","拍照")}else {sheet = UIActionSheet(title:nil, delegate: self, cancelButtonTitle: "取消", destructiveButtonTitle: nil, otherButtonTitles: "从相册选择")}sheet!.show(in: self.view)}//选取图片func actionSheet(_ actionSheet: UIActionSheet, clickedButtonAt buttonIndex: Int) {//选取图片var sourceType = UIImagePickerControllerSourceType.photoLibraryif(buttonIndex != 0){//相册if(buttonIndex==1){if(!PhotoLibraryPermissions()) {//跳转至系统设置UIApplication.shared.openURL(NSURL(string:UIApplicationOpenSettingsURLString)! as URL)}sourceType = UIImagePickerControllerSourceType.photoLibrary}else{if(!cameraPermissions()) {UIApplication.shared.openURL(NSURL(string:UIApplicationOpenSettingsURLString)! as URL)}sourceType = UIImagePickerControllerSourceType.camera}let imagePickerController:UIImagePickerController = UIImagePickerController()imagePickerController.delegate = selfimagePickerController.allowsEditing = true//true为拍照、选择完进入图片编辑模式imagePickerController.sourceType = sourceTypeself.present(imagePickerController, animated: true, completion: {})}}//取消func imagePickerControllerDidCancel(_ picker:UIImagePickerController)    {self.dismiss(animated: true, completion: nil)}// UIImagePickerControllerDelegate,UINavigationControllerDelegatefunc imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {let userAvatar = info[UIImagePickerControllerEditedImage] as! UIImageself.dismiss(animated: true, completion: nil)//显示在界面上 或上传图片self.xibView.imgView.image = userAvatar}//判断相机权限func cameraPermissions() -> Bool{let authStatus:AVAuthorizationStatus = AVCaptureDevice.authorizationStatus(forMediaType: AVMediaTypeVideo)if(authStatus == AVAuthorizationStatus.denied || authStatus == AVAuthorizationStatus.restricted) {return false}else {return true}}//判断相册权限func PhotoLibraryPermissions() -> Bool {let library:PHAuthorizationStatus = PHPhotoLibrary.authorizationStatus()if(library == PHAuthorizationStatus.denied || library == PHAuthorizationStatus.restricted){return false}else {return true}}



这篇关于iOS10 拍照打开相册选择图片的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/161828

相关文章

Python脚本实现图片文件批量命名

《Python脚本实现图片文件批量命名》这篇文章主要为大家详细介绍了一个用python第三方库pillow写的批量处理图片命名的脚本,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录前言源码批量处理图片尺寸脚本源码GUI界面源码打包成.exe可执行文件前言本文介绍一个用python第三方库pi

Python爬虫selenium验证之中文识别点选+图片验证码案例(最新推荐)

《Python爬虫selenium验证之中文识别点选+图片验证码案例(最新推荐)》本文介绍了如何使用Python和Selenium结合ddddocr库实现图片验证码的识别和点击功能,感兴趣的朋友一起看... 目录1.获取图片2.目标识别3.背景坐标识别3.1 ddddocr3.2 打码平台4.坐标点击5.图

解决jupyterLab打开后出现Config option `template_path`not recognized by `ExporterCollapsibleHeadings`问题

《解决jupyterLab打开后出现Configoption`template_path`notrecognizedby`ExporterCollapsibleHeadings`问题》在Ju... 目录jupyterLab打开后出现“templandroidate_path”相关问题这是 tensorflo

Python利用PIL进行图片压缩

《Python利用PIL进行图片压缩》有时在发送一些文件如PPT、Word时,由于文件中的图片太大,导致文件也太大,无法发送,所以本文为大家介绍了Python中图片压缩的方法,需要的可以参考下... 有时在发送一些文件如PPT、Word时,由于文件中的图片太大,导致文件也太大,无法发送,所有可以对文件中的图

java获取图片的大小、宽度、高度方式

《java获取图片的大小、宽度、高度方式》文章介绍了如何将File对象转换为MultipartFile对象的过程,并分享了个人经验,希望能为读者提供参考... 目China编程录Java获取图片的大小、宽度、高度File对象(该对象里面是图片)MultipartFile对象(该对象里面是图片)总结java获取图片

Java实战之自助进行多张图片合成拼接

《Java实战之自助进行多张图片合成拼接》在当今数字化时代,图像处理技术在各个领域都发挥着至关重要的作用,本文为大家详细介绍了如何使用Java实现多张图片合成拼接,需要的可以了解下... 目录前言一、图片合成需求描述二、图片合成设计与实现1、编程语言2、基础数据准备3、图片合成流程4、图片合成实现三、总结前

使用Python实现图片和base64转换工具

《使用Python实现图片和base64转换工具》这篇文章主要为大家详细介绍了如何使用Python中的base64模块编写一个工具,可以实现图片和Base64编码之间的转换,感兴趣的小伙伴可以了解下... 简介使用python的base64模块来实现图片和Base64编码之间的转换。可以将图片转换为Bas

css实现图片旋转功能

《css实现图片旋转功能》:本文主要介绍了四种CSS变换效果:图片旋转90度、水平翻转、垂直翻转,并附带了相应的代码示例,详细内容请阅读本文,希望能对你有所帮助... 一 css实现图片旋转90度.icon{ -moz-transform:rotate(-90deg); -webkit-transfo

C#实现添加/替换/提取或删除Excel中的图片

《C#实现添加/替换/提取或删除Excel中的图片》在Excel中插入与数据相关的图片,能将关键数据或信息以更直观的方式呈现出来,使文档更加美观,下面我们来看看如何在C#中实现添加/替换/提取或删除E... 在Excandroidel中插入与数据相关的图片,能将关键数据或信息以更直观的方式呈现出来,使文档更

C#中图片如何自适应pictureBox大小

《C#中图片如何自适应pictureBox大小》文章描述了如何在C#中实现图片自适应pictureBox大小,并展示修改前后的效果,修改步骤包括两步,作者分享了个人经验,希望对大家有所帮助... 目录C#图片自适应pictureBox大小编程修改步骤总结C#图片自适应pictureBox大小上图中“z轴