簡體   English   中英

僅重新加載自定義UITableViewCell的子視圖

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM