0

如何在视频下载后自动显示视频,而无需滚动过去一个单元格,然后向上滚动查看它?

在 tableview 中,我有一系列 AVPlayer 视频。

在每个单元格(cellForRowAtIndexPath 方法)中,我有以下代码来生成 AVPlayer 播放的资产

AVURLAsset *asset = [AVURLAsset URLAssetWithURL:[self getURL:someURLString] options:nil];

获取网址

  • 如果视频存储在本地,则返回本地 url
  • 如果视频是远程存储的,则将视频数据下载到本地url,然后返回本地url

我遇到的问题是,下载视频时,我必须滚动过去单元格,然后再次向上滚动才能看到它。(当视频已经存储在本地时,这不会发生)

我已经使用了 和 之类的setNeedsDisplay方法reloadRowsAtIndexPath。但他们没有工作。

谢谢您的帮助!:)


UITableViewCell 是否由于某种原因在 cellForRowAtIndexPath 期间停止,从某种意义上说,当返回本地 URL 时,它会尝试访问旧版本的本地 URL(在调用 cellForRowAtIndexPath 之前)?(只是一个疯狂的猜测?)


临时解决方案:

您能否建议一种比 cellForRowAtIndexPath 更好的视频下载方式(每个视频只有 200KB 左右),因为这似乎不起作用?

4

1 回答 1

1

您还可以获取对 UITableViewCell 对象的引用并更改其内容等。

UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:indexPath];
cell.textLabel.text = @"Hey, I've changed!";
于 2013-07-23T04:39:21.733 回答