在 Swift/Objective-c 中按媒体类型自定义图像选择器
Posted
技术标签:
【中文标题】在 Swift/Objective-c 中按媒体类型自定义图像选择器【英文标题】:Customizing Image picker by media type in Swift/Objective-c 【发布时间】:2021-09-08 08:28:22 【问题描述】:我想按类别(如静态照片、实时照片、视频、慢动作等)媒体来选择一个或多个图像/视频。
当用户选择“实时照片按钮”时,只会出现实时照片。
当用户选择“慢动作按钮”时,只会出现慢动作视频,依此类推。
我正在尝试使用UIImagePickerController
,但它可能不支持自定义。
我找到了this 库,但我总是得到这个error。
在 Swift/Objective-C(ios 版本至少 12)中是否有其他可用的库或方法?
【问题讨论】:
【参考方案1】:要实现这一点,您可以使用phpickerViewController
您可以使用PHPickerConfiguration
仅显示某些媒体类型或限制选择的最大数量,例如:
let configuration = PHPickerConfiguration()
configuration.selectionLimit = 10
configuration.filter = .livePhotos
然后 init PHPickerViewController
使用您的配置,并根据需要使用委托方法。
let controller = PHPickerViewController(configuration: configuration)
controller.delegate = self
present(controller, animated: true, completion: nil)
【讨论】:
它是否适用于 iOS >=10?我找不到任何像 PHPickerViewController 的模块 我明白了。但我需要至少为 iOS 12.0 用户支持我的应用程序。但 PHPickerViewController 仅支持 iOS 14+ 那么我认为您需要使用一个自定义库,例如github.com/DragonCherry/AssetsPickerViewController 我现在已经用过了(AssetsPickerViewController 库)。但它没有显示任何其他子类别。当我添加子类别时,它总是显示空视图。以上是关于在 Swift/Objective-c 中按媒体类型自定义图像选择器的主要内容,如果未能解决你的问题,请参考以下文章
归档应用程序时找不到 Swift Objective-C 标头
在 Swift/Objective-C 中重用 tableviewcell 时,属性标签不会消失
在视图控制器上不显示视图控制器 - Swift / Objective-C
是否可以以编程方式从 Swift/Objective-C 中的 UIViewController 或 Storyboard 中获取基本 UIViewController 的标识符?