我试图在单元本身播放视频而不是全屏视频显示。为此,我正在使用MPMoviePlayerController
。在UITableViewCell中播放视频
我在执行部分cellForRowAtIndexPath:
定义
MPMoviePlayerController *moviePlayer;
然后我做这个
cell = [tableView dequeueReusableCellWithIdentifier:simpleTableVideoIdentifier];
if (cell == nil){
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:simpleTableVideoIdentifier];
}
NSDictionary *dictionary = [dataArray objectAtIndex:indexPath.section];
NSDictionary *data = dictionary;
if ([data[@"type_of_post"] isEqualToString:@"video"]) {
NSString *path = data[@"video"];
NSURL *videoURL = [NSURL URLWithString:path];
moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:videoURL];
[moviePlayer setControlStyle:MPMovieControlStyleNone];
moviePlayer.scalingMode = MPMovieScalingModeAspectFit;
[moviePlayer.view setFrame:CGRectMake(10.0, 0.0, 300.0 , 400.0)];
[cell addSubview:moviePlayer.view];
moviePlayer.view.hidden = NO;
[moviePlayer prepareToPlay];
[moviePlayer play];
}else{
//do something else
}
,显然我为它分配一个高度heightForRowAtIndexPath:
但它的全局定义为MPMoviePlayerController *moviePlayer;
,它并不仅限于它的单元格,而是随着向下滚动而不断下降。我不确定除了我所描述的之外,还有什么其他方式来实现这一点,显然这似乎不是正确的方式。如果有人能指引我走向正确的方向,我将不胜感激。
感谢
亚光,我将如何删除它? – Jonathan
用'[cell.contentView removeFromSuperview]'? – Jonathan
我这样做,但是当我向下滚动然后向上滚动时,视频不在单元格中了 – Jonathan