Почему кнопка отмены в моем медиа-средстве не работает?

Я новый разработчик, и я узнаю музыку и звук в iOS.

Мне удалось создать медиа-медиатор, где пользователь может выбирать музыку, но когда я нажимаю кнопку отмены, ничего не происходит. Это метод, который я использую:

- (void) mediaPickerDidCancel: (MPMediaPickerController *) mediaPicker
{
    [self dismissViewControllerAnimated:YES completion:nil];
}

Я попытался вставить NSLog в него, чтобы увидеть, действительно ли он вызывается, и в консоли ничего не было, поэтому он вообще не вызывается. Есть ли причина и решение, которые можно заключить с этой информацией? Я просто что-то упустил или, возможно, не сделал что-то в другом месте?

Любая помощь будет принята с благодарностью.

Если код, который я использовал для медиа-выбора, был бы полезен, вот он:

MPMediaPickerController *mediaPicker = [[MPMediaPickerController alloc] initWithMediaTypes:MPMediaTypeAnyAudio];

        [mediaPicker setDelegate:self];

        mediaPicker.prompt = NSLocalizedString(@"text1", "text2");

        [self presentViewController:mediaPicker animated:YES completion:nil];

2 ответа

Интересно, если вам нужно сделать:

- (void) mediaPickerDidCancel: (MPMediaPickerController *) mediaPicker
{
    [mediaPicker dismissViewControllerAnimated:YES completion:nil];
}

вместо?

Кроме того, установите точку останова в вашем "mediaPickerDidCancel"метод и просто увидеть его, точка останова даже попадает при нажатии кнопки отмены в окне выбора.

В Свифте:

func mediaPickerDidCancel(mediaPicker: MPMediaPickerController){
    // Dismiss the picker if the user canceled
    dismissViewControllerAnimated(true, completion: nil)
}
Другие вопросы по тегам