为什么我的媒体选择器中的取消按钮不起作用?

时间:2013-07-09 15:57:45

标签: ios objective-c mpmediapickercontroller

我是一名新开发者,我在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 个答案:

答案 0 :(得分:3)

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

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

代替?

另外,在“mediaPickerDidCancel”方法中设置一个断点,只要看到断点即使在点击选择器中的取消按钮时命中。

答案 1 :(得分:0)

在斯威夫特:

func mediaPickerDidCancel(mediaPicker: MPMediaPickerController){
    // Dismiss the picker if the user canceled
    dismissViewControllerAnimated(true, completion: nil)
}