首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用Swift中的imagePickerController在同一视图控制器中选择两幅不同的图像

使用Swift中的imagePickerController在同一视图控制器中选择两幅不同的图像
EN

Stack Overflow用户
提问于 2015-06-04 18:11:33
回答 1查看 5.5K关注 0票数 5

我正在制作一个有两个UIImageViews的应用程序。在每个图像视图中,用户需要能够输入不同的图像。这是我到目前为止的代码。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    var imagePicker = UIImagePickerController()
    @IBAction func chooseImage1(sender: AnyObject) {
    if UIImagePickerController.isSourceTypeAvailable(UIImagePickerControllerSourceType.SavedPhotosAlbum){
        println("Button capture")


        imagePicker.delegate = self
        imagePicker.sourceType = .SavedPhotosAlbum
        imagePicker.allowsEditing = false

        self.presentViewController(imagePicker, animated: true, completion: nil)
    }
}

@IBAction func chooseImage2(sender: AnyObject) {
    if UIImagePickerController.isSourceTypeAvailable(UIImagePickerControllerSourceType.SavedPhotosAlbum){
        println("Button capture")


        imagePicker2.delegate = self
        imagePicker2.sourceType = .SavedPhotosAlbum
        imagePicker2.allowsEditing = false

        self.presentViewController(imagePicker, animated: true, completion: nil)
}
}

func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [NSObject : AnyObject]) {
    let pickedImage = info[UIImagePickerControllerOriginalImage] as? UIImage
        chooseImage1.image = pickedImage

    let pickedImage2 = info[UIImagePickerControllerOriginalImage] as? UIImage
    chooseImage2.image = pickedImage2



    dismissViewControllerAnimated(true, completion: nil)
}



func imagePickerControllerDidCancel(picker: UIImagePickerController) {
    dismissViewControllerAnimated(true, completion: nil)
}

这将为每个不同的图像视图选择相同的图像。我希望能够选择两张单独的照片,每个视图一张。谢谢你的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-04 18:45:55

你只需要一个UIImagePickerController。您可以保留对所选视图的引用,当用户完成对图像的选择时,只需将所选视图转换为UIImageView并设置其图像属性:

更新:Xcode 11.5·SWIFT5.2或更高版本的

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import UIKit

class ViewController: UIViewController, UIImagePickerControllerDelegate ,UINavigationControllerDelegate {
    
    @IBOutlet weak var imageView1: UIImageView!
    @IBOutlet weak var imageView2: UIImageView!

    var imagePicker = UIImagePickerController()
    var selectedVew: UIView!
 
    override func viewDidLoad() {
        super.viewDidLoad()
        
        imagePicker.delegate = self
        imagePicker.sourceType = .savedPhotosAlbum
        imagePicker.allowsEditing = false
        
        [imageView1,imageView2].forEach {
            $0?.isUserInteractionEnabled = true
            $0?.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(chooseImage)))
        }
    }
    
    @objc func chooseImage(_ gesture: UITapGestureRecognizer) {
        if UIImagePickerController.isSourceTypeAvailable(.savedPhotosAlbum) {
            selectedVew = gesture.view
            present(imagePicker, animated: true)
        }
    }
    func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
        (selectedVew as? UIImageView)?.image = info[.originalImage] as? UIImage
        dismiss(animated: true)
    }
    
    func imagePickerControllerDidCancel(_ picker: UIImagePickerController) {
        dismiss(animated: true)
    }
}
票数 15
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30657269

复制
相关文章
WordPress 中如何批量获取一组缓存?
类似于 Memcached 等很多缓存服务都支持一次请求获取多个数据,这样意味着无须多次连接外部对象缓存服务,可以显著的提升网站的效率。
Denis
2023/04/14
4170
WordPress 中如何批量获取一组缓存?
nuScenes数据集在OpenPCDet中的使用及其获取
从官方网站上下载数据NuScenes 3D object detection dataset,没注册的需要注册后下载。 注意: 如果觉得数据下载或者创建data infos有难度的,可以参考本文下方 5.
烤粽子
2021/10/08
5.5K0
SQL 获取纯数值的行
在 MySQL 库中有个 mix 表,它有一个列叫作 v,该列存储了文本和纯数值的内容。部分数据如下:
白日梦想家
2020/11/26
1.6K0
Mysql用链式存储结构存一组数据,如何用最少查询得到完整链条?
Mysql 中使用链式存储结构保存一组数据,通常是通过在表中建立父子关系来实现的。比如,在表中保存每个节点的 id 和 parent_id, parent_id 表示该节点的父节点 id. 当我们需要查询某个节点的完整链条时,可以通过递归方式查询所有父节点直到跟节点为止。
用户1289394
2023/08/22
6050
Mysql用链式存储结构存一组数据,如何用最少查询得到完整链条?
Java工具集-Spring工具(获取Spring容器中的Bean对象)
引入依赖 <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> <version>5.1.9.RELEASE</version> </dependency> 代码示例 package *; import org.springframework.beans.BeansEx
cwl_java
2019/10/26
1.5K0
获取jqGrid中选择的行的数据
var id=$(‘#gridTable’).jqGrid(‘getGridParam’,'selrow’);
ydymz
2018/09/10
2.5K0
用过Excel,就会获取pandas数据框架中的值、行和列
至此,我们已经学习了使用Python pandas来输入/输出(即读取和保存文件)数据,现在,我们转向更深入的部分。
fanjy
2021/11/29
19.2K0
用过Excel,就会获取pandas数据框架中的值、行和列
sklearn数据集的获取与划分
获取sklearn本地的数据集 from sklearn.datasets import load_iris li = load_iris() print("数据集描述为:") print(li.DESCR) print("目标值为:") print(li.target) print("数据为:") print(li.data) print("特征描述名称为:") print(li.feature_names) print("目标描述名为:") print(li.target_names) 从网络
zhaoolee
2018/04/19
1.7K0
sklearn数据集的获取与划分
Python检查一组数据是否能构成和谐集
检查一组数据是否构成和谐集,也就是从中删除任意元素之后,剩余元素都能分成两个集合,并且两个集合中的元素之和相等。
Python小屋屋主
2020/08/24
6360
Python检查一组数据是否能构成和谐集
机器学习数据集的获取和测试集的构建方法
上一篇机器学习入门系列(2)--如何构建一个完整的机器学习项目(一)介绍了开始一个机器学习项目需要明确的问题,比如当前任务属于有监督还是无监督学习问题,然后性能指标需要选择什么,常用的分类和回归损失函数有哪些,以及实际开发中需要明确系统的输入输出接口问题。
kbsc13
2019/08/16
2.5K0
SQL 获取一行中多个字段的最大值
在 chaos(id,v1,v2,v3) 表中获取每个 id 对应的 v1、v2、v3 字段的最大值,v1、v2、v3 同为数值类型。
白日梦想家
2020/12/14
11.5K0
关于一般的并查集求根操作的一组对照研究
说道并查集,大家一定对于以多叉树状结构为基础的并查集并不陌生,最常见的两种写法如下 1 function getfat(x:longint):longint; 2 begin 3 while x<>c[x] do x:=c[x]; 4 exit(x); 5 end; 1 function getfat(x:longint):longint; 2 begin 3 if x<>c[x] then exit(getfat(c[x])) els
HansBug
2018/04/10
6350
在shell程序里如何从文件中获取第n行
有没有一种“规范”的方式来做到这一点?我一直在使用 head -n | tail -1,它可以做到这一点,但我一直想知道是否有一个Bash工具,专门从文件中提取一行(或一段行)。
程序熵
2023/09/25
4680
在shell程序里如何从文件中获取第n行
proc 编程处理 select 获取的数据集
使用 select 语句获取数据,有两种种结果,第一种,得到的结果只有一行,我们只需要用指定的变量来接收它就可以了,但第二种情况则是有多行数据,每一行数据,处理这种多行返回的数据也有两种方法,一个是使用一个二维宿主数组来接收这些结果(如果不知道结果有多少,宿主数组也不知道该定义多大,所以这种方法不太灵活),另外一个是使用游标的方式来遍历数据,游标又分单向的遍历游标和滚动游标。本文就介绍这些所有的方法。
我与梦想有个约会
2023/10/20
2090
proc 编程处理 select 获取的数据集
SQL语句执行与结果集的获取
title: SQL语句执行与结果集的获取 tags: [OLEDB, 数据库编程, VC++, 数据库] date: 2018-01-28 09:22:10 categories: windows 数据库编程 keywords: OLEDB, 数据库编程, VC++, 数据库,执行SQL, 获取结果集 --- 上次说到命令对象是用来执行SQL语句的。数据源在执行完SQL语句后会返回一个结果集对象,将SQL执行的结果返回到结果集对象中,应用程序在执行完SQL语句后,解析结果集对象中的结果,得到具体的结果,这次的主要内容是如何解析结果集对象并获取其中的值。
Masimaro
2018/08/31
3.9K0
pandas中的loc和iloc_pandas获取指定数据的行和列
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/178799.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/27
10.3K0
pandas中的loc和iloc_pandas获取指定数据的行和列
Java工具集-获取IP(IpUtils)
添加依赖 <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>4.0.1</version> </dependency> 代码示例 package *; import javax.servlet.http.HttpServletRequest; import java.n
cwl_java
2019/10/26
2.8K0
修车的最少时间
给你一个整数数组 ranks ,表示一些机械工的 能力值 。ranksi 是第 i 位机械工的能力值。能力值为 r 的机械工可以在 r * n2 分钟内修好 n 辆车。
凡尘扰凡心
2023/09/08
1961
dplyr中的行操作
在tidyverse中,整洁数据一般都是每一行是一个观测,每一列是一个变量,基本上所有操作都是基于整洁的数据进行的,都是对某列做什么操作。但有时候我们也需要对某行做一些操作,dplyr中现在提供了rowwise()函数快速执行对行的操作。
医学和生信笔记
2022/11/15
1.3K0
点击加载更多

相似问题

包含所有行ID的最少公共日期集

21

用于声明一组相似变量的最少代码行

19

获取特定行两边的最少行总数。

35

行绑定一组数据集?

23

如何在sql中获得最少的行

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文