我正在开发一个小型音乐应用程序,其中第一个视图包含Tableview中所有歌曲列表,当用户点击任何一行(歌曲)时,它将它们带到第二个视图&播放他们的歌曲(包括播放/暂停按钮)。现在我使用后退按钮返回第二视图的第一视图以选择另一首歌曲。它们是First View中的一个按钮,仅用于切换视图(即当前播放的歌曲),但它从头开始播放同一首歌,但不播放当前播放的歌曲。它类似于iOS中的股票音乐应用程序中的现在播放按钮。 我正在使用故事板&塞格斯
-(void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
temp = indexPath.row;
[tableView deselectRowAtIndexPath:indexPath animated:NO];
[self performSegueWithIdentifier:@"Player" sender:self];
}
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if([[segue identifier] isEqualToString:@"Player"])
{
MPMediaItem *item = [itemCollections objectAtIndex:temp];
NSString *trackInfo = [[NSString alloc] initWithFormat:@"%@- %@",[item valueForProperty:MPMediaItemPropertyTitle],[item valueForProperty:MPMediaItemPropertyArtist]];
MPMediaItemArtwork *artwork = [item valueForProperty:MPMediaItemPropertyArtwork];
NSURL *tempURL = [item valueForProperty:MPMediaItemPropertyAssetURL];
playerController = [segue destinationViewController];
playerController.fileUrl1 = tempURL;
playerController.globalVar = [NSNumber numberWithInteger:temp];
playerController.labelTitleString = trackInfo;
playerController.img = [artwork imageWithSize:CGSizeMake(100, 100)];
}
}
答案 0 :(得分:0)
你可以通过多种方式解决这个问题 - 我建议实施一个singleton来处理媒体播放。这个单身经理(模型的一部分)应该为任何控制器提供有关当前歌曲,专辑,作者等的所需信息,而不是一直保留该视图。
实施例。在TableViewController中:
- (void)viewDidLoad
{
[self setSong:[[PlaybackManager sharedInstance] currentSong]];
if (self.song) {
//Add navigation item
}
}