0

我正在使用MPMediaPickerController控制器。

现在我可以使用以下代码从图库中选择一个项目:

MPMediaPickerController *controller = [[MPMediaPickerController alloc]initWithMediaTypes:MPMediaTypeAnyAudio];
controller.delegate = mediaDelegate._pickerDelegate;
[self presentViewController:controller animated:YES completion:nil];
NSLog(@"url :%@",singleton.url);

目的是我的方法应该返回所选项目的 URL。相反,我正在获取nullURL,因为当前视图控制器下方的行在视图控制器出现后立即被调用(它不等待选择项目)。

有什么方法可以在presentViewController选择项目之后停止,然后从方法中返回所选项目的 URL?

4

2 回答 2

2

您需要实现MPMediaPickerControllerDelegate委托:

- (void)mediaPicker: (MPMediaPickerController *)mediaPicker didPickMediaItems:(MPMediaItemCollection *)mediaItemCollection

当用户选择一个项目时,该方法将被调用

于 2013-12-02T10:49:11.120 回答
0

你必须写这个

[self presentViewController:controller animated:YES completion:nil];
NSLog(@"url :%@",singleton.url);

- (void)mediaPicker: (MPMediaPickerController *)mediaPicker didPickMediaItems:(MPMediaItemCollection *)mediaItemCollection

方法..

于 2013-12-02T10:54:24.383 回答