Итак, я создал свой собственный UIImagePicker, который отображается, когда пользователь нажимает кнопку.Я сделал это так, что этот сборщик изображений показывает только видео.Однако, когда я впервые представляю, он все еще показывает, снимок камеры, а затем фотографии, а затем, когда я нажимаю на библиотеку фотографий, там есть только видео, как я и ожидал.
Но как бы я видел только видео.
![enter image description here](https://i.stack.imgur.com/5aOWP.png)
Как и на этом экране, я хочу, чтобы альбомы были помечены как видео.
Это код контроллера выбора изображений
/// Selector Controller used to pick a video
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
mediaTypes = [kUTTypeMovie 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
onDismissCallback?(self)
}
open func imagePickerControllerDidCancel(_ picker: UIImagePickerController){
onDismissCallback?(self)
}
}
Это то, что я выложил для типов источников
public struct VideoRowSourceTypes : OptionSet {
public let rawValue: Int
public var imagePickerControllerSourceTypeRawValue: Int { return self.rawValue >> 1 }
public init(rawValue: Int) { self.rawValue = rawValue }
init(_ sourceType: UIImagePickerController.SourceType) { self.init(rawValue: 1 << sourceType.rawValue) }
public static let PhotoLibrary = VideoRowSourceTypes(.photoLibrary)
public static let All: VideoRowSourceTypes = [PhotoLibrary]
}
Так что мой вопрос: когда я перехожу к imagePicker, как мне заставить его показывать только видео, а не нажимать в ролике камеры итогда выбираете видео?и Как мне изменить заголовок навигационной панели, чтобы выбрать видео, потому что эта строка кода не работает
private func navigationController(_ navigationController: UINavigationController, willShow viewController: UIViewController, animated: Bool) {
viewController.navigationItem.title = "Choose Video"
}