首页 > 解决方案 > 用于 imagepickercontroller 的 photoLibrary 中的视频

问题描述

我试图仅在我的 imagePickerController 中显示视频平铺。我知道您必须更改 mediaType,而我已经这样做了。我想要的只是它只显示视频图块,而不是相机胶卷和像你在这里看到的时刻

在此处输入图像描述

我只想要这张图片中看到的一个视频图块。我不想点击相机胶卷然后看视频。我只想要一个单独的视频图块,清楚地表明那里只有视频。

在此处输入图像描述

我已经为我的图像选择器添加了控制器

/// Selector Controller used to pick an image
open class ImagePickerController : UIImagePickerController, TypedRowControllerType, UIImagePickerControllerDelegate, UINavigationControllerDelegate {

    /// The row that pushed or presented this controller
    public var row: RowOf<URL>!

    /// A closure to be called when the controller disappears.
    public var onDismissCallback : ((UIViewController) -> ())?

    open override func viewDidLoad() {
        super.viewDidLoad()
        delegate = self
        allowsEditing = (row as? _VideoRow)?.allowEditor ?? false
        mediaTypes = [kUTTypeMovie as String, kUTTypeVideo as String]

    }


    public func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
        guard let videoURL = info[UIImagePickerControllerMediaURL] as? URL else {
            return
        }

        (row as? _VideoRow)?.videoURL = videoURL
        (row as? _VideoRow)?.value = videoURL
        onDismissCallback?(self)
    }

    open func imagePickerControllerDidCancel(_ picker: UIImagePickerController){
        onDismissCallback?(self)
    }

    private func navigationController(_ navigationController: UINavigationController, willShow viewController: UIViewController, animated: Bool) {
        self.navigationItem.title = "Videos"
    }

}

还有为什么不能改标题

标签: iosswiftuiimagepickercontroller

解决方案


我想要的只是它只显示视频图块,而不是相机胶卷和像你在这里看到的时刻

然后不要使用 UIImagePickerController;编写自己的选择器。如果你使用 UIImagePickerController,你会受到它给你的限制。它为您提供源类型.photoLibrary.savedPhotosAlbum仅此而已。


推荐阅读