[英]Reload only a subView of a custom UITableViewCell
我目前正在開發iOS 5及更高版本的應用程序,其中使用AVQueuePlayer實例在自定義UITableViewCell內播放視頻。
有很多這樣的自定義單元播放'n'個視頻。
我想實現一個功能, 禁止播放器在給定時間后播放視頻。
我有一個倒計時器,顯示UILabel中剩余的時間,用於禁用AVQueuePlayer實例下的播放器。
我必須在一分鍾后更新計時器(假設)以顯示禁用發生的剩余時間。 例如“剩下5分鍾” 。
我正在使用NSTimer用於此目的。 但是,我不知道如何只重新加載或更新自定義UITableViewCell的UILabel實例。 我在一些線程中看到過使用以下方法
- (void)reloadRowsAtIndexPaths:(NSArray *)indexPaths withRowAnimation:(UITableViewRowAnimation)animation
但是,如果我在視頻播放時這樣做,它會停止並再次重新加載。
這個問題有更好的解決方案嗎?
您可以在創建單元時保存對單元格的引用(聽起來您只是制作每種單元格類型之一,即使您有一個tableview); 或從桌子上抓住牢房並從中拉出標簽。
我很想設置標簽的標簽,然后用它來取回標簽。
創建標簽(或在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
將是你的tableview中的單元格的位置(0到...); 和LABEL_TAG
是您要用來表示該視圖的任何數字,可能是1234
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.