我試圖在單元本身播放視頻而不是全屏視頻顯示。爲此,我正在使用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