iOS:检测或禁用多个图像选择

2024-01-04

我们有一个带有图像附件控件的 UIWebview。

当用户点击该控件时,会弹出一个 iOS 操作表。

当用户点击“浏览”或“照片库”时,用户可以选择多个图像。

然后我拦截

- (void)imagePickerController: didFinishPickingMediaWithInfo:使用我自己的已混合的 ImagePicker ViewController 进行调用。

所以,我的问题是:在didFinishPickingMediaWithInfo,是否可以检测到已选择多张图像?如果没有,有没有办法强制iOS端的图像选择只允许一张图像?

如果可能的话,我想检测已选择多个图像,然后恢复正常功能(即我不会混合)。

我确实检查了选择器和发送到的信息didFinishPickingMediaWithInfo作为参数,但即使选择了多个图像, info 参数也只有一张图像的信息。它保留第一个选择并丢弃第二个选择,并且不会第二次调用该方法。

编辑: 我没有使用第三方图像选择器。


The UIImagePickerController calls didFinishPickingMediaWithInfo然后调用didFinishPickingMultipleMediaWithInfo。它首先调用 didFinishPickingMediaWithInfo,然后我检查

if info["UIImagePickerControllerReferenceURL"] == nil {
    // process the selected single image, we don't want to process multiple images
} else {
    // do nothing
}

Then didFinishPickingMultipleMediaWithInfo被调用,这次使用正确的数组,如果数组中的项目数大于 1,我们使用普通方法而不是 swizzled 代码,但如果只有一张图像,我们使用 swizzled 方法处理它,如下所示普通的。

因此,我们无法禁用多个图像选择,但使用 didFinishPickingMultipleMediaWithInfo,我们可以检测何时选择多个图像并更改应用程序的行为方式。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

iOS:检测或禁用多个图像选择 的相关文章

  • CBPeripheral 名称有时为 null

    我正在开发一个应用程序来与蓝牙 LE 外围设备进行通信 我目前正在测试的外围设备是其中之一these http www ti com tool cc2540dk mini 有趣的是 有时当我发现它时 我会得到它的正确名称 SimpleBLE
  • 如何在 ios 7 上更改重新排序控制图像

    我正在寻找一种更改重新排序控件图像和大小的方法 我使用此代码来更改重新排序图像 void tableView UITableView tableView willDisplayCell UITableViewCell cell forRow
  • 迁移到 ARC 时如何解决“选择器'performSelector:withObject:afterDelay:'没有已知的实例方法”?

    ARC 迁移工具在开始迁移之前拒绝接受此代码 self delegate performSelector selector overlayDismissed withObject self afterDelay 0 委托被迫使用协议来实现此
  • ViewWillAppear 没有被 UISplitViewController 调用

    背景和目标 我有一个基于 UISplitViewController 的 iPad 应用程序 到目前为止它支持 4 个方向 但现在我想将其锁定为仅横向 我变了shouldAutorotateToInterfaceOrientation左视图
  • 无法将“SDWebImageActivityIndi​​cator”类型的值分配给“ST_SDWebImageIndicator”类型?

    I have multiple flavours targets in my Xcode project I am also using SDWebImage in my app Everything was working fine un
  • 使用 NSURLSessionDataTask 显示文件下载进度

    我想显示特定文件的文件下载进度 收到了多少字节 它与 NSURLSessionDownloadTask 配合得很好 我的问题是我想用 NSURLSessionDataTask 实现同样的效果 以下是将文件接收到 NSData 并写入文档文件
  • 在 Flutter 中显示 iOS 的 PDF 内联文件

    我正在 flutter 中专门为 iOS 开发一个应用程序 现阶段 我需要向其中添加 PDF 文件 问题是 flutter 没有原生的方式来显示 PDF 文件 据我研究 由此tread https github com flutter fl
  • GMSMapView 中的倒多边形

    我必须在我的 iPhone 项目中使用 Google 地图 并且我正在使用 GMSPolygon 来绘制多边形 但是如何填充地图上除多边形内部之外的所有位置 就像下图一样 谢谢 我玩过你的问题 主要思想是用多边形填充整个地球 然后为您的特定
  • Swift 3:如何去除UITableView屏幕截图的灰色区域

    我在从桌面视图的屏幕截图中删除灰色区域时遇到了问题 这是我尝试截图时的输出UITableView 实际上我隐藏了一些tableViewCell这是不需要的 可能这就是区域显示灰色的原因 任何帮助表示赞赏 非常感谢 Answer 我通过使用
  • UICollectionView 未出现

    我正在尝试设置UICollectionView 以编程方式在我的视图控制器中扩展UIViewController 由于某种原因 我的收藏视图根本没有显示 以下是我所拥有的 为什么没有出现 我将它连接到委托和数据源并将其添加为子视图self
  • 在后台任务中安排通知

    我正在为 iOS 开发一个日历 闹钟应用程序 它与网络服务器同步 当在服务器上添加活动时 会发出推送通知 以便 iOS 客户端可以获取新数据 并根据需要更新和安排下一次警报的时间 本地通知 但这仅在应用程序在客户端打开时才有效 我希望客户端
  • 使用 Google place API 从 lat long 获取附近的地点

    我正在使用 google place API 即 https maps googleapis com maps api place search json location 33 7167 73 0667 radius 500 type f
  • 线程 1:信号 SIGABRT - AppDelegate.h

    main m Journey Created by Julian Buscema on 2014 07 13 Copyright c 2014 Julian Buscema All rights reserved import
  • Objective C UIImagePNGRepresentation内存问题(使用ARC)

    我有一个基于 ARC 的应用程序 它从 Web 服务加载大约 2 000 个相当大 1 4MB 的 Base64 编码图像 它将 Base64 解码后的字符串转换为 png图像文件并将其保存到磁盘 这一切都是在一个循环中完成的 我不应该有任
  • xcode 6.1 (Swift) 中的 SIGABRT 运行时错误

    与最初的代码相比 唯一的更改是在ViewControl swift override func viewDidLoad newMessage hidden true super viewDidLoad Do any additional s
  • Swift 中通过不同类调用委托方法

    我正在获取 JSON 菜单 一旦 JSON 返回 我想运行 menuReady 来更新表的内容在 SomeTableViewController 类中 但下面的代码似乎不起作用 AIM Run 菜单就绪 JSON 返回后更新内容 PROBL
  • 将 iPhone 上的 stderr 写入文件和控制台

    我正在遵循答案中的建议here https stackoverflow com questions 5179108 iphone how to read application logs from device用于将 iOS 设备上的 NS
  • 退出导航控制器

    我试图离开初始视图控制器 并进入空白视图控制器 这很好 但是这会使空白视图控制器也成为导航控制器的一部分 这不是我想要的 我想脱离视图控制器 在视图控制器中 我尝试退出 它会自行弹出 当我尝试视图中的方法时 将出现目标视图控制器 self
  • 显示键盘时如何在 TextView 下方添加更多填充

    当我在 ScrollView 中有 TextField 并点击它时 键盘会按预期显示 但似乎 TextField 已向上移动到足以显示输入区域 但我希望移动到足够的位置 以便整体可见 否则它看起来像是被剪裁了的 我找不到改变这种行为的方法
  • 如何获取 UIWebView 中元素的位置?

    我在 iPad 程序中加载了 html 的 UIWebView 通过使用 webkit column width 我将 html 分为几列 padding 0px height 1024px webkit column gap 0px we

随机推荐

  • Ember.js 如何同时显示两条路由

    我在网站上展示了一个产品 就像这样 products 1 用户可以同时打开一个页面 该页面将显示在产品的顶部 就像覆盖层一样 比产品页面小一点 这样你就可以看到它背后的一些产品 我认为网址应该是 products 1 page 1 这样用户
  • 内核模式下的线程本地存储?

    Windows 确切地说是 Win32 中的内核模式驱动程序是否有等效的线程本地存储 TLS 我试图实现的目标 最终 从我的驱动程序的调度例程中 它可能会调用许多其他函数 可能有一个深层调用堆栈 我想提供一些特定于正在处理的请求的上下文信息
  • Sitecore Analytics 机器人 SessionTimeout 导致会话过早超时

    在我们的一个项目中 我们遇到了随机会话超时问题 通过最近的发现 我注意到 Sitecore Analytics Robots SessionTimeout 可能是导致它的原因 我们注意到 在随机会话超时时 超时值设置为 1 分钟 而不是我们
  • Golang 构建随机约束

    我有两个 go 文件 标头中具有不同的构建约束 常量 生产 go build production staging package main const URL production 常量 staging go build staging
  • `BehaviorSubject` 和 `Sink` 之间有什么关系吗?和`StreamController`?

    通过阅读 abin的回答Flutter中Sink和Stream有什么区别 https stackoverflow com questions 50350235 我已经理解了之间的关系Sink and Stream 除此之外 还有什么关系Be
  • 如何将新数据附加到属性文件中的现有数据?

    我正在使用以下代码将数据写入属性文件 public void WritePropertiesFile String key String data Properties configProperty new Properties confi
  • JavaScript 路由正则表达式

    我需要构建一个路由器 将 REST 请求路由到正确的控制器和操作 这里有一些例子 POST users GET users uid GET users search q lol GET users GET users uid picture
  • 从 PHP Curl 获取 POST Zapier Webhook 响应

    我正在使用 Zapier Webhooks 来集成 Web 门户和 API 门户网站和 API 都是使用 php 开发的 我正在使用curl向Zapier中的catch hook发送请求 发送发布数据 然后在我的 zap 中 第二步获取捕获
  • 使用 msmq 进行异步日志记录

    我需要在我们的应用程序中进行日志记录 并希望尽可能少地保留因日志记录而消耗的时间 我正在考虑使用 MSMQ 以便应用程序登录到 MSMQ 然后我可以将消息从 MSMQ 异步记录到数据库 文件 这个想法在性能方面好吗 或者使用 log4net
  • 如何执行命令提示符并从中获取输出?

    我是Python的新手 我想编写一个Python程序 可以在cmd中执行一些命令并自动从中获取输出 是否可以 我怎样才能做到这一点 你会想要使用subprocess Popen https docs python org 3 4 libra
  • 使用 Jest 模拟的服务会导致“不允许 jest.mock() 的模块工厂引用任何超出范围的变量”错误

    我正在尝试模拟对服务的调用 但我正在努力处理以下消息 模组厂jest mock 不允许引用任何超出范围的变量 我正在使用 babel 和 ES6 语法 笑话和酶 我有一个简单的组件叫做Vocabulary它得到一个列表VocabularyE
  • Lambda 不会触发 SNS 事件。将 AWS lambda 与 SNS 链接起来

    我使用 AWS 将 lambda 链接在一起 方法是让第二个 lambda 订阅第一个 lambda 的 SNS feed 第二个 lambda 没有从第一个 lambda 接收任何内容 并且我在 CloudWatch 或我订阅的个人电子邮
  • 是否可以在 Vista 上构建 exe 并使用 py2exe 在 XP 上部署

    我在 Windows Vista 上使用 python 创建了一些程序 但我想将它部署在 Windows XP 上 是否有必要在Windows XP上进行新的构建 或者是否有可能构建在这两个系统上都可以运行的版本 编辑 编辑2 非常简单的程
  • 在 DataSources.groovy 中扩展多个 grails 数据源?

    您定义的每个环境DataSource groovy扩展基础dataSource定义位于文件根部 环境之外 我有两个特定的配置 需要将它们应用于许多不同的环境 这些环境具有较小的特定于环境的更改 实际上 我需要两个 基本定义 或者某种方式来扩
  • Tortoise-ORM:如何从 tortoise.contrib.postgres.fields 查询 Postgres `ArrayField`

    刚刚创建了一个 PostgresArrayField在 Tortoise ORM 中通过from tortoise contrib postgres fields import ArrayField托管一些我想放置的标签 查看我的 Post
  • .ps1 脚本在 .bat 文件脚本中报告为“缺少结束符 '}'”

    我在将简短的 PowerShell 脚本转换为 cmd exe bat 文件脚本时遇到困难 错误消息 见下文 抱怨 缺少结束 ps1 脚本按预期成功运行 我在赋值语句末尾使用了分号字符 我用脱字符号 转义了垂直线 竖线 字符 我缺少什么 这
  • 片段不会启动

    我有 onclicklistener 可以工作 我正在尝试通过单击列表视图上的按钮启动一个新片段 目前 该片段尚未启动 但是 我们使用的模拟器不会崩溃 因此如果我们正确理解这一点 它就不会连接到新的片段 XML 页面 public void
  • 在 Chart.js 中的条形顶部显示值

    请参考这个小提琴 https jsfiddle net 4mxhogmd 1 https jsfiddle net 4mxhogmd 1 我正在研究 Chart js 如果您在小提琴中看到 您会注意到在某些情况下条形顶部的值未正确显示 超出
  • 我可以在 contentful-client 中使用“useSWR”来创建分页吗?

    我正在尝试使用 nextjs 和 useSWR 挂钩创建分页 这就是我目前的做法 它似乎正在工作 但是我在文档中读到 作为第一个参数传递的密钥应该是一个唯一的字符串 通常是一个 URL 我只是传递索引来获取正确的数据 我的方法会扰乱缓存吗
  • iOS:检测或禁用多个图像选择

    我们有一个带有图像附件控件的 UIWebview 当用户点击该控件时 会弹出一个 iOS 操作表 当用户点击 浏览 或 照片库 时 用户可以选择多个图像 然后我拦截 void imagePickerController didFinishP