只重新加载一个自定义UITableViewCell的子视图

我目前正在开发iOS 5及以上版本的应用程序,使用AVQueuePlayer的实例在自定义的UITableViewCell中播放video。

有n个这样的定制单元播放“n”个video。

我想实现一个function, 禁止播放器在给定时间后播放video。

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

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

我正在使用NSTimer来达到这个目的。 但是,我不知道如何重新加载更新自定义UITableViewCell的UILabel实例。 我在一些线程中看到了使用下面的方法

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

但是,如果我在播放video时这样做,它会停下来并重新加载。

有没有更好的解决这个问题?

你可以保存一个对你的单元格的引用,当你创build它时(听起来就像你只是制作一个单元格types,即使你有一个tableview)。 或从桌子上抓住单元格并将标签从中拉出。

我试图设置标签的标签,然后用它来取回标签。

当您创build标签(或在界面构build器中设置)时,请调用[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将单元格的位置在您的tableview(0到…); 和LABEL_TAG是你想用来表示该视图的任何数字,也许是1234