我目前正在开发适用于iOS 5及更高版本的应用,其中使用 AVQueuePlayer 的实例在自定义UITableViewCell 中播放视频。
有很多这样的自定义单元播放'n'个视频。
我希望在给定时间后实现禁用播放器播放视频的功能。
我有一个倒计时器,显示 UILabel 中剩余的时间,用于禁用AVQueuePlayer实例下的播放器。
我必须在一分钟后(假设)更新计时器,以显示禁用发生的剩余时间。例如“剩下5分钟”。
我正在使用 NSTimer 来实现此目的。但是,我不知道如何仅重新加载或更新自定义UITableViewCell的 UILabel 实例。我在一些线程中看到过使用以下方法
- (void)reloadRowsAtIndexPaths:(NSArray *)indexPaths withRowAnimation:(UITableViewRowAnimation)animation
但是,如果我在播放视频时这样做,它会停止并再次重新加载。
这个问题有更好的解决方案吗?
答案 0 :(得分:3)
你可以在创建单元时保存对单元格的引用(听起来你只是制作了每种单元格类型之一,即使你有一个tableview);或者从桌子上抓住牢房并将标签拉出来。
我很想设置标签的标签,然后用它来取回标签。
创建标签(或在界面构建器中设置)时,请致电[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
。