1

我是一名新开发人员,我正在了解 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];
4

2 回答 2

3

我想知道你是否需要这样做:

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

反而?

此外,在您的 " mediaPickerDidCancel" 方法中设置一个断点,并在点击选择器中的取消按钮时看到断点甚至命中。

于 2013-07-09T16:02:34.300 回答
1

在斯威夫特:

func mediaPickerDidCancel(mediaPicker: MPMediaPickerController){
    // Dismiss the picker if the user canceled
    dismissViewControllerAnimated(true, completion: nil)
}
于 2016-04-19T12:52:07.583 回答