问题标签 [phpickerviewcontroller]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
6566 浏览

ios - 如何从 PHPicker 中检索 PHAsset?

WWDC20苹果推出了PHPicker - UIImagePickerController 的现代替代品。
我想知道是否可以使用新的照片选择器检索 PHAsset?


这是我的代码

0 投票
2 回答
828 浏览

photokit - PHPicker 委托错误:PHPickerViewControllerDelegate 不响应选择器:didFinishPicking

苹果在 WWDC20 中引入了PHPicker,替代了 UIImagePickerController。

我有一个包装器 NSObject 类,它处理图像选择器控制器的所有配置和呈现,现在我正在替换实现以支持 iOS14。

即使我将委托设置为,self我也会收到错误:

[Picker] PHPickerViewControllerDelegate doesn't respond to picker:didFinishPicking:

我认为它会检查父视图控制器,确实它没有实现委托方法,但包装器实现了。

这是我的示例代码:

使用它...

你有什么建议?

0 投票
1 回答
737 浏览

ios - 在 PHPickerViewController 中被选中后如何获取照片数据/元数据?

在我使用的应用程序中,我的任务是使用PHPickerViewController.

选择后,我需要访问:

  1. 原始图像数据
  2. 图片的文件名
  3. 图像的创建日期

PHAsset如果我可以完全访问用户的照片,这很简单——我可以使用PHPickerViewController包含照片标识符的结果值来PhotoKit查询PHAssets. 但是,不能保证我具有完全访问权限。此外,如果用户已授予无访问权限或受限访问权限,并且受限选择不包括在 中选择的照片PHPickerViewController,我将无法查询它们。(我试过了,正如预期的那样,查询的结果是 nil,这是有道理的)。

我可以获得的UIImage只是原始图像数据的代理(缺少 exif 数据等),因此这对于我的应用程序的用户案例来说是不够的。假设有一个数据项目提供者,我仍然需要获取文件名和创建日期等信息。

那么,有没有办法获取这些信息呢?

0 投票
2 回答
1048 浏览

ios - iOS 14 NSItemProvider loadDataRepresentation() 返回指定类型的 nil 数据

设置:

PHPickerViewController用来允许用户选择照片。我已经实现了PHPickerViewControllerDelegate协议方法picker(_ picker: PHPickerViewController, didFinishPicking results: [PHPickerResult])。我itemProvider从结果数组中得到。

问题:

我需要访问所选图像的数据。有一个方法NSItemProvider被调用loadDataRepresentation(),它接受一个类型标识符字符串,并应在其完成块中返回图像数据。

当我调用此方法时,有时它会返回数据,有时则不会。我已经为每个提供者的多个注册类型标识符尝试了这个,我看到了同样的事情。有时它会返回 JPEG 数据,但不返回 HEIF,有时只返回 HEIF,有时它根本不会返回任何数据。这是一致的,因为每次我尝试加载其数据时,同一张照片都会显示相同的结果。

当没有数据时,我看到以下错误:

在尝试加载照片数据之前,我需要对照片做些什么吗?也许我在这里错过了一步?这发生在我直接用我的 iPhone XR 拍摄的照片上。我没有使用 iCloud 照片,所有照片都在设备上。

0 投票
1 回答
3688 浏览

ios - 如何从 PHPickerResult 获取 PHAsset?iOS 14

所以,我发现之前问过类似的问题,但是当我尝试与我得到的相同的方式时,它并没有按我的预期工作,所以我想做的是,我想从 PHPickerViewController 的 PHPickerResult 获取 PHAsset。

所以使用这个源代码作为我的基本代码来试验它,并将它与我从中得到.

info.plist当我尝试这个时,也已经添加了“隐私 - 照片库使用说明” 。

代码如下所示。

在我尝试调试代码后,我发现里面的代码fetchResult.enumerateObjects没有被调用,这就是我无法获取图像的原因。

或者我的语法错误?有人能帮我吗?

0 投票
1 回答
4788 浏览

ios14 - 如何在 iOS 14 中使用 PHAuthorizationStatusLimited

为了获取照片的创建日期,所以在显示 PHPickerViewController 之前使用 requestAuthorizationForAccessLevel。

虽然状态是 .limited,但 iOS 14 仍然显示所有图像。

如何使用 PHPickerViewController 仅获取有限的照片?

0 投票
2 回答
5044 浏览

uiimagepickercontroller - iOS14 中的 UIImagePickerController 和 PHPickerViewController 图像选择空白

如果这在 iOS 的最后几个版本上工作,但在 14 上无法正常工作,我在过去的 5 天里一直在谷歌上搜索。

每当我从图库中添加图像时,选择图像的弹出窗口都是空白的。

我已经尝试过 UIImagePickerController(在 iOS13 及以下版本中运行良好)和新的 PHPickerViewController。

在 iOS14 之前一直在工作的是用户单击条形按钮以“添加图像”并且弹出窗口要求从图库中选择,然后在您的图库中向选择器显示图像。

我已经为 UIImagePickerController 设置了 Info.plist “隐私 - 照片库使用说明”,我知道 PHPickerViewController 不需要烫发,因为它会为您处理获取图像。

我也经常看到这些紫色警告说“xxxx 必须仅从主线程使用”,直到新的 Xcode 之前从未见过。

任何帮助将非常感激。运行 Xcode 12.0.1 (12A7300),模拟器运行 iOS14。

亚当

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

0 投票
0 回答
772 浏览

ios - 手动呈现 PHPickerViewController 时如何显示当前选定的照片?

PHPickerViewController有没有办法在手动展示时显示用户当前的照片选择?例如,当使用以下代码时,选择器不会显示用户当前选择的任何照片。

但是,如果我使用 Apple 的内置presentLimitedLibraryPicker功能,它会显示用户当前的照片选择:

有没有办法在不使用的情况下获得这种行为presentLimitedLibraryPicker

0 投票
0 回答
371 浏览

ios - 更改 PHPickerViewController 中右栏按钮的默认标题

我正在实施新的 iOS 14 图像选择器PHPickerViewController。默认情况下,右侧栏按钮的标题为“添加”。我想将其更改为“邮票”。我尝试了下面的代码,但它不起作用。有谁知道如何更改右栏按钮标题PHPickerViewController

在此处输入图像描述

0 投票
0 回答
218 浏览

ios - 多选模式下的 PHPickerViewController 错误 UI 流

附加的 GIF 说明了一切,当在多选模式 (selectionLimit = 0) 下使用 PHPickerViewController 时,选择器会在用户滚动滚动视图而不点击照片时随机选择资产。我想知道 PHPickerViewController 是如何如此错误的,这在 iOS 14.2 beta 2 中仍然没有解决!这可以通过 WWDC 2020 视频中的 PHPickerDemo 示例代码重现。我想知道是否有办法解决这个问题,例如通过调整手势识别器等?

在此处输入图像描述