Ios 视频预览屏幕冻结UIImagePickerController

Ios 视频预览屏幕冻结UIImagePickerController,ios,uiimagepickercontroller,Ios,Uiimagepickercontroller,我使用UIImagePickerController允许用户从媒体库中选择视频。当选择视频并对其进行压缩时,如果设备被锁定且我解锁设备,则信息字典中不存在媒体URL 当媒体url不存在时,我什么也不做(甚至不排除图像选择器)。预览屏幕上的控件不起作用,因此用户可以重新选择视频。 我使用的代码是: self.imagePicker = [[UIImagePickerController alloc] init]; self.imagePicker.allowsEditing = YES; self

我使用
UIImagePickerController
允许用户从媒体库中选择视频。当选择视频并对其进行压缩时,如果设备被锁定且我解锁设备,则信息字典中不存在媒体URL

当媒体url不存在时,我什么也不做(甚至不排除图像选择器)。预览屏幕上的控件不起作用,因此用户可以重新选择视频。 我使用的代码是:

self.imagePicker = [[UIImagePickerController alloc] init];
self.imagePicker.allowsEditing = YES;
self.imagePicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
self.imagePicker.mediaTypes = [NSArray arrayWithObjects:@"public.movie", @"public.image", nil];
[self.imagePicker setDelegate:self];
[self presentViewController:self.imagePicker animated:YES completion:nil];
为什么控件不起作用?我怎样才能让它们工作?
提前感谢。

我认为您应该实施两个委托方法:

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [NSObject : AnyObject])
func imagePickerControllerDidCancel(_ picker: UIImagePickerController)

didFinishPickingMediaWithInfo在用户选择视频之前不会调用。你可以在安全的情况下关闭选取器

已经这样做了…如果没有媒体url,我不会关闭选取器,以便用户可以再次选择媒体。