1

我目前正在为 iOS 5 及更高版本开发一个应用程序,其中使用AVQueuePlayer的实例在自定义 UITableViewCell内播放视频。

有“n”个这样的自定义单元格播放“n”个视频。

我想实现一个功能,在给定时间后禁用播放器播放视频。

我有一个倒数计时器,它显示UILabel中剩余的时间,用于禁用 AVQueuePlayer 实例下的播放器。

我必须在一分钟后更新计时器(假设)以显示禁用发生的剩余时间。例如“还剩 5 分钟”

我为此目的使用NSTimer 。但是,我不知道如何只重新加载更新自定义 UITableViewCell的UILabel实例。我在一些线程中看到使用以下方法

- (void)reloadRowsAtIndexPaths:(NSArray *)indexPaths withRowAnimation:(UITableViewRowAnimation)animation

但是,如果我在播放视频时这样做,它会停止并再次重新加载。

这个问题有更好的解决方案吗?

4

1 回答 1

3

您可以在创建单元格时保存对单元格的引用(听起来您只制作每种单元格类型中的一种,即使您有一个表格视图);或从表格中取出单元格并将标签拉出。

我很想设置标签的标签,然后用它来取回标签。

当您创建标签(或在 interface-builder 中设置)调用时[myLabel setTag:LABEL_TAG];

然后你可以:

UITableViewCell * myCell = self.myTableView cellForRowAtIndexPath:LABLE_CELL_POSITION];
UILabel * myLabel = [cell viewWithTag:LABEL_TAG];
myLabel.setText:@"my new value";

上面LABLE_CELL_POSITION是表格视图中单元格的位置(0到...);并且LABEL_TAG是您想用来表示该视图的任何数字,也许是1234

于 2013-01-28T14:37:47.397 回答