我在 iOS 6 和 7 之间有两个奇怪的不同行为。
我想向最终用户展示 MPMediaPicker,让他们选择一首歌曲,然后开始播放给他们。
因此,我向他们展示了 MPMediaPicker(/not/multi 和 /not/cloud,如果支持)。
两个问题:
- 在 iOS6 中,MPMediaPicker 的第一个屏幕显示歌曲。在 iOS7 中,它是(空的)播放列表。如何强制 MPMediaPicker 将歌曲显示为默认的第一个屏幕?这只是Apple“最了解”的另一个例子吗?
- 在 iOS7 中,列表中的媒体项目旁边有一个红色 (+) 符号。是什么原因造成的?我无法在谷歌中找到任何参考资料。(+) 符号是什么?它似乎没有与表格中的行分开突出显示。本机媒体选择器不显示此内容。
谢谢!
-肯
我们的 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];
}