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

相关文章

如何选择适合孤独症兄妹的学校?

在探索适合孤独症儿童教育的道路上,每一位家长都面临着前所未有的挑战与抉择。当这份责任落在拥有孤独症兄妹的家庭肩上时,选择一所能够同时满足两个孩子特殊需求的学校,更显得尤为关键。本文将探讨如何为这样的家庭做出明智的选择,并介绍星贝育园自闭症儿童寄宿制学校作为一个值得考虑的选项。 理解孤独症儿童的独特性 孤独症,这一复杂的神经发育障碍,影响着儿童的社交互动、沟通能力以及行为模式。对于拥有孤独症兄

使用opencv优化图片(画面变清晰)

文章目录 需求影响照片清晰度的因素 实现降噪测试代码 锐化空间锐化Unsharp Masking频率域锐化对比测试 对比度增强常用算法对比测试 需求 对图像进行优化,使其看起来更清晰,同时保持尺寸不变,通常涉及到图像处理技术如锐化、降噪、对比度增强等 影响照片清晰度的因素 影响照片清晰度的因素有很多,主要可以从以下几个方面来分析 1. 拍摄设备 相机传感器:相机传

C#实战|大乐透选号器[6]:实现实时显示已选择的红蓝球数量

哈喽,你好啊,我是雷工。 关于大乐透选号器在前面已经记录了5篇笔记,这是第6篇; 接下来实现实时显示当前选中红球数量,蓝球数量; 以下为练习笔记。 01 效果演示 当选择和取消选择红球或蓝球时,在对应的位置显示实时已选择的红球、蓝球的数量; 02 标签名称 分别设置Label标签名称为:lblRedCount、lblBlueCount

透彻!驯服大型语言模型(LLMs)的五种方法,及具体方法选择思路

引言 随着时间的发展,大型语言模型不再停留在演示阶段而是逐步面向生产系统的应用,随着人们期望的不断增加,目标也发生了巨大的变化。在短短的几个月的时间里,人们对大模型的认识已经从对其zero-shot能力感到惊讶,转变为考虑改进模型质量、提高模型可用性。 「大语言模型(LLMs)其实就是利用高容量的模型架构(例如Transformer)对海量的、多种多样的数据分布进行建模得到,它包含了大量的先验

cross-plateform 跨平台应用程序-03-如果只选择一个框架,应该选择哪一个?

跨平台系列 cross-plateform 跨平台应用程序-01-概览 cross-plateform 跨平台应用程序-02-有哪些主流技术栈? cross-plateform 跨平台应用程序-03-如果只选择一个框架,应该选择哪一个? cross-plateform 跨平台应用程序-04-React Native 介绍 cross-plateform 跨平台应用程序-05-Flutte

如何选择SDR无线图传方案

在开源软件定义无线电(SDR)领域,有几个项目提供了无线图传的解决方案。以下是一些开源SDR无线图传方案: 1. **OpenHD**:这是一个远程高清数字图像传输的开源解决方案,它使用SDR技术来实现高清视频的无线传输。OpenHD项目提供了一个完整的工具链,包括发射器和接收器的硬件设计以及相应的软件。 2. **USRP(Universal Software Radio Periphera

《数据结构(C语言版)第二版》第八章-排序(8.3-交换排序、8.4-选择排序)

8.3 交换排序 8.3.1 冒泡排序 【算法特点】 (1) 稳定排序。 (2) 可用于链式存储结构。 (3) 移动记录次数较多,算法平均时间性能比直接插入排序差。当初始记录无序,n较大时, 此算法不宜采用。 #include <stdio.h>#include <stdlib.h>#define MAXSIZE 26typedef int KeyType;typedef char In

Android 10.0 mtk平板camera2横屏预览旋转90度横屏拍照图片旋转90度功能实现

1.前言 在10.0的系统rom定制化开发中,在进行一些平板等默认横屏的设备开发的过程中,需要在进入camera2的 时候,默认预览图像也是需要横屏显示的,在上一篇已经实现了横屏预览功能,然后发现横屏预览后,拍照保存的图片 依然是竖屏的,所以说同样需要将图片也保存为横屏图标了,所以就需要看下mtk的camera2的相关横屏保存图片功能, 如何实现实现横屏保存图片功能 如图所示: 2.mtk

Spring MVC 图片上传

引入需要的包 <dependency><groupId>commons-logging</groupId><artifactId>commons-logging</artifactId><version>1.1</version></dependency><dependency><groupId>commons-io</groupId><artifactId>commons-

Prompt - 将图片的表格转换成Markdown

Prompt - 将图片的表格转换成Markdown 0. 引言1. 提示词2. 原始版本 0. 引言 最近尝试将图片中的表格转换成Markdown格式,需要不断条件和优化提示词。记录一下调整好的提示词,以后在继续优化迭代。 1. 提示词 英文版本: You are an AI assistant tasked with extracting the content of