【iOS-UIImagePickerController访问相机和相册】

news2025/7/29 0:37:25

文章目录

  • 记录
    • `UIImagePickerController`
          • UIImagePickerController的sourceType
    • 主要代码
        • 点击imageView事件
        • 跳转到相机和相册![请添加图片描述](https://img-blog.csdnimg.cn/0a5a307de371421eba7e3472075dcaeb.png)
    • 总结

记录

  • 在写知乎日报的时候用到过imageVIew点击事件,今天刚好借助点击事件学习一下UIImagePickerController
  • 今日简单学习了一下如何访问相机和相册,为项目做准备。简单记录
  • 在一些应用中,我们需要用到iOS设备的摄像头进行拍照,视频。并且从相册中选取我们需要的图片或者视频。
    关于iOS摄像头和相册的应用,可以使用 UIImagePickerController类来完成控制。

UIImagePickerController

  • 引用UIImagePickerController 需用到两个代理 <UIImagePickerControllerDelegate,UINavigationControllerDelegate>
    请添加图片描述
  • 以换头像为例,实现调用,由于是虚拟机就不展示相机的调用
  • 属性化imageView, 添加点击事件
UIImagePickerController的sourceType
  • UIImagePickerControllerSourceTypeCamera;
  • 这个是调用相机的时候把 self.imagePickerController.sourceType设置成相机Type
    请添加图片描述
  • 调用相册时候的设置
  • self.imagePickerController.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
    请添加图片描述

主要代码

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    self.imageViewAvatar = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"IMG_2400.JPG"]];
    // 为imageVIew添加点击事件
    self.imageViewAvatar.userInteractionEnabled = YES;
    UITapGestureRecognizer* tapGester = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapAvator)];
    self.imageViewAvatar.frame = CGRectMake(140, 200, 90, 90);
    [self.imageViewAvatar addGestureRecognizer:tapGester];
    [self.view addSubview:_imageViewAvatar];
}

点击imageView事件

请添加图片描述

跳转到相机和相册请添加图片描述

  • imagePickerController:(UIImagePickerController *)pickerUIImagePickerController提供的三个代理方法之一
  • 资料如下
// 取消选择,点击界面中的取消(Cancel)按钮时触发
- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker {
 
}
 
// 选择完成,点击界面中的某个图片或者选择(Choose)按钮时触发
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
 
}

请添加图片描述

总结

  • 后续还会根据项目需要学习心新的知识

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/16344.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

函数式编程

Lambda表达式介绍 Lambda简介 Lambda 表达式是 JDK8 的一个新特性&#xff0c;可以取代大部分的匿名内部类&#xff0c;写出更优雅的 Java 代码&#xff0c;尤其在集合的遍历和其他集合操作中&#xff0c;可以极大地优化代码结构。 在Java语言中&#xff0c;可以为变量赋予一…

连续六个季度实现盈利改善,达达集团内外双重确定性凸显

当消费迈向复苏时&#xff0c;今年的社会消费品零售也在总额恢复增长的情况下&#xff0c;迎来结构性变化。 其中&#xff0c;一股消费力量的加速增长成为了重点——即时零售。今年7月&#xff0c;商务部在官网发布的《2022年上半年中国网络零售市场发展报告》&#xff0c;首次…

VOACAP 软件的下载与安装

VOACAP 简介 VOACAP(Voice of America Coverage Analysis Program&#xff0c;美国之音覆盖分析程序)软件是NTIA/ITS开发的高频规划软件包 ITS HF Propagation 中的一个电路计算模块&#xff0c;它是对原 ITS IONCAP 模块(高频传输系统应用预测模块之一)的改进&#xff0c;并根…

LogTAD:无监督跨系统日志异常域检测

摘要 日志异常检测&#xff0c;其对开发稳定、可持续的系统具有重要意义。但当系统刚上线时&#xff0c;收集足够的数据训练一个无监督模型是不现实的。为此本文提出了一个可转移的日志异常检测(LogTAD)框架&#xff0c;该框架利用对抗域适应技术使来自不同系统的日志数据具有…

小程序最新获取用户头像昵称

目录 一、前言 二、遇到的问题 三、效果页面 四、代码实现 记录&#xff1a; 一、前言 昨天打开编辑器后&#xff0c;发现小程序用户的头像与昵称都给变默认了&#xff0c;就去网上搜了一下&#xff1a; 小程序用户头像昵称获取规则调整公告 | 微信开放社区 我去&…

Spring6整合JUnit5

十七、Spring6整合JUnit5 17.1 Spring对JUnit4的支持 准备工作&#xff1a; <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instanc…

[附源码]java毕业设计暖暖猫窝系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

Linux之软连接和硬连接的用法和区别【详细!!!】

目录软连接创建一个软连接删除软连接硬链接创建硬链接删除硬链接硬链接和软连接之间的区别软连接 创建一个软连接 ln -s [源文件或目录] [软连接名称] 例子&#xff1a; 在/home目录下创建一个软连接linkToRoot 链接到/root目录 删除软连接 rm -f /linkToRoot例子&#x…

供应CAS:73342-16-2,N3-PEG-OH,Azide-PEG-Hydroxy,叠氮-聚乙二醇-羟基

一&#xff1a;产品描述 1、名称 英文&#xff1a;N3-PEG-OH&#xff0c;Azide-PEG-Hydroxy 中文&#xff1a;叠氮-聚乙二醇-羟基 2、CAS编号&#xff1a;73342-16-2 3、所属分类&#xff1a;Azide PEG Hydroxyl PEG 4、分子量&#xff1a;可定制&#xff0c;叠氮-PEG 34…

[附源码]java毕业设计某公司酬薪管理系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

无需重启应用,动态采集任意点位日志

作者&#xff1a; 屿山 现实系统往往有着较高的复杂度&#xff0c;我们借助 Trace、Log、Metric 三驾马车使我们的系统具备了一定的可观测性&#xff0c;但观测位置和信息往往是固定的&#xff0c;而我们所遇到的问题常常是意料之外的&#xff0c;这就导致我们能够定位问题的范…

BLE学习(1):蓝牙协议栈的介绍

蓝牙官方(The Bluetooth Special Interest Group)定义了低功耗蓝牙(Bluetooth low energy,即LE)和基础/增强速率蓝牙(Bluetooth basic rate/enhanced data rate ,即BR/EDR)两种技术的协议栈。这两种协议栈可以单独使用&#xff0c;也可以同时使用&#xff0c;如下图所示&#x…

泛型「generic」讲解

标题1. 泛型语法1.1 泛型的引出1.2 泛型介绍1.3 泛型语法1.4 泛型使用细节1.5 练习题2.自定义泛型2.1自定义泛型-类2.2自定义泛型-接口2.3自定义泛型-方法2.4练习题3.范型继承和通配符3.1JUnit单元测试框架3.2练习题1. 泛型语法 1.1 泛型的引出 传统方法不能对加入到集合中的…

Docker部署ELK

Docker部署ELK安装包下载1、安装docker2、安装docker compose3、使用docker加载离线镜像4、上传yml文件并初始化密码5、造数据&#xff0c;看采集结果安装包下载 链接:https://pan.baidu.com/s/1LOHyhTHm3-30v6wAfYLTAg 提取码:5uno 1、安装docker &#xff08;1&#xff09…

Python新手的福音,涵盖20+种初学者必练项目!

前言 对学Python的新手同学来说&#xff0c;最最最想要的干货是什么&#xff1f;是大量可以练手的项目啊。俗话说&#xff0c;三天不练手生&#xff0c;三天不念口生。#技术派的书架# &#xff08;文末送读者福利&#xff09; 在某乎上有一个关于"Python的练手项目”的问…

【线程】线程同步

目录 一、信号量 1.函数 2.使用 二、读写锁 1.函数 2.使用 三、互斥锁 1.函数 2.使用 四、条件变量 1.函数 2.使用 前言 线程同步的实现方法&#xff1a;信号量、互斥锁、条件变量、读写锁。 下面就对着四种方法进行展开描述 一、信号量 与进程间通信的信号量类似&a…

JNPF3.4.5大版本正式上线啦!

千呼万唤始出来&#xff0c;时隔近四个月&#xff0c;引迈信息终于再度推出新版本与大家见面了&#xff0c;此次推出的3.4.5大版本&#xff0c;可谓是吊足了大家的胃口。 本次大更新为用户带来的是高效率、高可用性、低成本、快速部署、易于扩展的快速开发平台的使用体验。本次…

【ASM】字节码操作 工具类与常用类 TraceClassVisitor 介绍

文章目录 1.概述2. TraceClassVisitor2.1 class info2.2 字段信息2.3 constructors2.4 methods3.如何使用TraceClassVisitor3.1 生成新的类3.2 修改已有的类3.3 打印ASM信息4.总结感谢第一个订阅字节码的人,感谢老铁支持 adminhjy 1.概述 在上一篇文章:

拓展卡尔曼滤波(Kalman)附Matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;修心和技术同步精进&#xff0c;matlab项目合作可私信。 &#x1f34e;个人主页&#xff1a;Matlab科研工作室 &#x1f34a;个人信条&#xff1a;格物致知。 更多Matlab仿真内容点击&#x1f447; 智能优化算法 …

分享5个良心好用的PC软件,免费无广告

今天再次推荐5个良心好用的Windows神级软件&#xff0c;每一个都是完全免费&#xff0c;堪称神器&#xff0c;让你打开新世界的大门。 1.数据恢复工具——EaseUS Data EaseUS Data Recovery Wizard是一款简单易用的数据恢复工具&#xff0c;给用户提供了三种恢复模式&#xf…