Дождитесь выбора медиа в iPhone

Я работаю с контроллером 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 выбранного элемента из метода?

2 ответа

Вам необходимо реализовать MPMediaPickerControllerDelegate делегат:

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

Когда пользователь выбирает элемент, этот метод будет вызван

Вы должны написать это

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

в

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

способ..

Другие вопросы по тегам