2012-11-30 45 views
0

我想更新自定義tableview單元格的progressview,但進度視圖不會更新。ProgressView不會更新在tableview

我可以設置tableview單元格上的標籤,但訪問像進度條或活動指標的東西不起作用。

我做的自定義單元格

cell.progressView.hidden = NO; 
cell.progressView.progress = 0.5; 
[cell.progressView setNeedsDisplay]; 

這即使在調試器中我看到的對象是正確的細胞類型和progressView分配行不通以下。

我已經嘗試過單元格本身的setNeedsDisplay,但沒有運氣。我錯過了什麼?

+0

顯示'cellForRowAtIndexPath:'的代碼。你可能會錯誤地設置它。一個常見問題是將自定義視圖反覆添加到單元格中。 – rmaddy

+0

在發佈代碼之前,可能是我調用CustomTableViewCell * cell =(CustomTableViewCell *)[self tableView:tableView cellForRowAtIndexPath:indexPath];在didSelectRowAtIndexPath中?然後我使用這個單元格指針設置屬性 – jarryd

回答

1

調用[self tableView:tableView cellForRowAtIndexPath:indexPath];是最有可能的問題,因爲這可能導致另一個單元從表中出列。所以你最終設置了一個新的單元,而不是當前正在顯示的單元。

相反,這樣做:

CustomTableViewCell *cell = (CustomTableViewCell *)[tableView cellForRowAtIndexPath:indexPath]; 

這直接詢問表中的單元格。這應該返回當前顯示的單元格,如果該行可見。

+0

非常感謝,你真的幫了我。我的活動指標也出現了。 :) – jarryd