iOS 7和MPMediaPicker,为什么加?

时间:2013-12-09 19:44:51

标签: ios ios7 mpmediapickercontroller

我在iOS 6和7之间有两种奇怪的分歧行为。

我想向最终用户展示MPMediaPicker,允许他们选择1首歌曲,并开始播放给他们。

所以,我向他们展示了MPMediaPicker(/ not / multi,和/ not / cloud,如果支持的话)。

两个问题:

  • 在iOS6中,MPMediaPicker中的第一个屏幕显示歌曲。在iOS7中, 这是(空)播放列表。我如何强制MPMediaPicker 将歌曲显示为默认的第一个屏幕?这只是Apple“最了解”的另一个例子吗?
  • 在iOS7中,我在列表中的媒体项旁边显示一个红色(+)符号。什么 原因是什么?我没有能够提出任何参考 在谷歌。什么是(+)符号?它似乎没有与表中的行分开突出显示。本机媒体选择器不显示此内容。

谢谢!

-Ken

我们的MPMediaPicker代码:

- (void)showSongPicker {
// TODO check if iOS 6
MPMediaPickerController* songPicker = [[MPMediaPickerController alloc] initWithMediaTypes:MPMediaTypeMusic];

songPicker.delegate = self;
songPicker.allowsPickingMultipleItems = NO;

songPicker.showsCloudItems = NO;

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

[self presentModalViewController:songPicker animated:YES];
}

#pragma mark MPMediaPickerControllerDelegate

- (void)mediaPicker: (MPMediaPickerController *)mediaPicker didPickMediaItems:(MPMediaItemCollection *)mediaItemCollection {
MPMediaItem* item = [mediaItemCollection.items objectAtIndex:0];

[self playMediaItem:item];

[self mediaPickerDidCancel:mediaPicker];
}

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

2 个答案:

答案 0 :(得分:1)

哦!我道歉。我忘了回答这个问题。

由于我没有得到其他人的答复(直到现在,谢谢,lap.felix),我将其作为技术问题提交给Apple。

他们的答案? 没有编程方式来影响选择器的行为。如果您需要“彻底”更改此行为,则必须滚动自己的媒体选择器。

所以......是的...谢谢,Apple。

-Ken

答案 1 :(得分:0)

除了“将此项目添加到选择器选择”

之外,+不代表任何其他内容