在 iOS 中为本地应用内容创建图库

Posted

技术标签:

【中文标题】在 iOS 中为本地应用内容创建图库【英文标题】:Create a gallery for local app content in iOS 【发布时间】:2015-11-14 04:08:14 【问题描述】:

我的应用会拍摄一些视频和图片并将它们存储在 Application Home/Documents 文件夹中。我想创建一个将打开并显示(和播放)这些项目的画廊。我查看了 MPMediaPickerController,看起来数据源的唯一选项是相册。

看来我将不得不创建 UICollectionView。这是执行此操作的正确方法,还是有另一种类似于 MPMediaPickerController 但将源设置为数据对象数组的方法?

【问题讨论】:

你必须实现你自己的查看器。 啊!这有点可怕。在那种情况下,我倾向于在图库中自动保存......知道是否有任何 cocoapods 实现了这种行为? 当然,您的另一个选择是使用 Github 等地方提供的众多第 3 方照片查看器之一。 【参考方案1】:

最好的方法是使用你自己的实现 UICollectionView。 MPMediaPickerController 主要适用于媒体相关(尤其是歌曲和视频)

由于您有图像和视频,只需使用 NSFilemanager 获取 Documents Directory 中的文件并将信息传递给 UICollectionView 数据源并处理 UICollectionView didSelect 方法上的触摸操作。

【讨论】:

好的,谢谢您的回复。我认为这是要走的路,但想在我走这条路之前检查一下。到目前为止,它看起来并不太粗糙,但我现在可能只是自动保存到 Gallery 并稍后实现它.. 您看到自动保存到图库的任何缺点吗? (即照片应用) 这取决于您的应用对用户的需求。如果您希望这些照片和图像可用于其他应用程序,您也可以将它们保存在那里。或者,如果您希望照片特定于您的应用程序,那么您可以保存在您的应用程序文档目录中。只是从您的用户的角度考虑。

以上是关于在 iOS 中为本地应用内容创建图库的主要内容,如果未能解决你的问题,请参考以下文章

如何在 ios 10 中为不同的本地通知启动不同的视图控制器

如何在本地组策略对象中为特定用户应用软件限制策略?

从 iOS 应用程序向 Chromecast 发送本地图像时出现问题

iOS开发——本地通知

如何在 Ionic 移动应用程序中为 $cordova 本地通知的本地图像设置图标?

适用于 iOS 应用程序的不同本地化的不同二进制文件