Дождитесь выбора медиа в 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
способ..