mat*_*hau 7 xcode ios swift swift5 ios14
考虑到用户隐私,我想实现一个有限的库选择器(在 iOS 14 中引入)。我们的应用程序允许用户为每个组件附加一张照片,从而处理技术组件的状况评估。为此,我们已经使用了PHPickerViewController
selectionLimit 为1 的传统配置。我希望新的Limited Library Picker 能够提供类似的PHPickerConfiguration
选项。然而,情况似乎并非如此,因为它的 API 没有公开可配置PHPickerViewController
对象。presentLimitedLibraryPicker
相反,呈现有限库选择器的唯一方法显然是从单例中调用该方法PHPhotoLibrary
。因此,我始终可以在“有限库”视图中选择多张照片,而所需的行为是最多选择一张照片。有谁知道如何使用有限的库选择器来实现这种行为?
在下面的代码示例中,如果用户PHAuthorizationStatus
是.authorized
(工作正常),则显示传统的 PHPickerViewController;如果PHAuthorizationStatus
是.limited
(缺少选择限制),则显示有限库选取器:
PHPhotoLibrary.requestAuthorization(for: .addOnly) { status in
switch status {
case .authorized:
var configuration = PHPickerConfiguration(photoLibrary: PHPhotoLibrary.shared())
configuration.filter = .images
configuration.selectionLimit = 1
let phPicker = PHPickerViewController(configuration: configuration)
phPicker.delegate = self as PHPickerViewControllerDelegate
DispatchQueue.main.async {
self.view?.present(viewController: phPicker)
}
case .limited:
PHPhotoLibrary.shared().register(self)
DispatchQueue.main.async {
PHPhotoLibrary.shared().presentLimitedLibraryPicker(from: self)
}
default:
//Ask for permission
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1258 次 |
最近记录: |