我正在使用 MPMediaPickerController 控制器。
现在我可以使用以下代码从图库中选择一个项目:
MPMediaPickerController *controller = [[MPMediaPickerController alloc]initWithMediaTypes:MPMediaTypeAnyAudio];
controller.delegate = mediaDelegate._pickerDelegate;
[self presentViewController:controller animated:YES completion:nil];
NSLog(@"url :%@",singleton.url);
目的是我的方法应该返回所选项目的URL。相反,我得到了null
的URL,因为一旦视图控制器出现(它没有等待选择项目),就会调用当前视图控制器下面的行。
有没有办法在presentViewController
之后停止,选择项目,然后从方法中返回选定的项目URL?
答案 0 :(得分:2)
您需要实施MPMediaPickerControllerDelegate
委托:
- (void)mediaPicker: (MPMediaPickerController *)mediaPicker didPickMediaItems:(MPMediaItemCollection *)mediaItemCollection
当用户选择一个项目时,将调用该方法
答案 1 :(得分:0)
你必须写这个
[self presentViewController:controller animated:YES completion:nil];
NSLog(@"url :%@",singleton.url);
in
- (void)mediaPicker: (MPMediaPickerController *)mediaPicker didPickMediaItems:(MPMediaItemCollection *)mediaItemCollection
方法..