2013-12-19 53 views
1

我有一个新闻提要屏幕的应用程序,就像facebook应用程序中的应用程序一样。为此,我制作了一个自定义单元格,其中有一个contentView,它是一个UIView。这个contentView被初始化为显示文本,图像或视频。这是在自定义单元的类中完成的。对于视频,我想MPMoviePlayerViewController添加为一个子视图到该单元的内容查看:自定义单元格中的MPMoviePlayerViewController

MPMoviePlayerViewController *player = [[MPMoviePlayerViewController alloc] initWithContentURL:nil]; 
player.view.frame = self.contentView.frame; 
player.view.tag = kVideoView; 
[self.contentView addSubview:player.moviePlayer.view]; 

然后,当我加载在tableviewcontroller细胞,我想给它的contentURL,像这样:

MPMoviePlayerViewController *controller = (MPMoviePlayerViewController *)[cell viewWithTag:kVideoView]; 
controller.moviePlayer.contentURL = [NSURL URLWithString:postInfo.uri]; 
return; 

这崩溃与错误的应用:

-[MPMovieView moviePlayer]: unrecognized selector sent to instance 

我该如何解决这个问题?

回答

2

正如您将player.moviePlayer.view添加到内容视图。

所以虽然检索你会得到参考player.moviePlayer.view而不是MPMoviePlayerViewController

我的建议是不要创建多个MPMoviePlayerViewController实例。您可以在特定视频的快照上添加一些UIButtonUIImageView。而只玩你可以创建MPMoviePlayerViewController实例和播放你的视频

+0

我知道这就是发生了什么,我只是想知道如何解决它:) – damjandd

+1

工作是做Bhumeshwer katre说。不要将电影加载到每个单元格中。只需加载代表性的UIImage或播放图标即可。然后当你的用户点击它时,你可以创建一个新的MPMoviePlayerController来播放你的电影。如果你想在每个表格行单元中播放一个电影流(我不认为这是一个好主意),那么你最好看看AVPlayer。 – Justyn

+0

很好的答案谢谢!我正在做类似的事情。我在每个单元格中创建了一个'MPMoviePlayerViewController'实例,它绝对不会像我想的那样流畅。 – SuperKevin