2013-08-27 23 views
0

我有一個需求,我需要在UITableview的單元格中顯示滑塊。它基本上是哪裏的音頻項目保持下載一個下載表格視圖,下載的進度被捕獲並在tableview中的細胞中。每次發生項目下載時,我都會收到一個委託方法,並且我調用reload table來更新表視圖。這導致滾動問題,其中表格不會平滑滾動,因爲它將重新加載單元格下載項目。我怎麼解決這個問題?UiSlider應該在每秒內更新UITableviewCell內

感謝

回答

0

也許

// indexPaths array contains NSIndexPath of you cell with UISlider. 
NSArray * indexPaths = @[[NSIndexPath indexPathForRow:1 inSection:0]]; 
[self.tableView reloadRowsAtIndexPath:indexPaths withRowAnimation:UITableViewRowAnimationNone]; 

可以幫助你。這允許只更新一些行,而不是所有的表。

即使它不能解決問題,最好只更新一行,而不是每秒都要將所有數據重新加載到表中。

1

Accid Bright絕對是正確的軌道上這和很可能是超過可接受的解決方案。然而,如果你仍然看到性能問題,這可能是因爲細胞還在做太多的工作被重新加載,當他們。我想看看做的是更新UISlider才值:

NSIndexPath *indexPath = /* index path to the current row to be updated */ 
MyCustomCell *cell = (id)[self.tableView cellForRowAtIndexPath:indexPath]; 
[cell.slider setValue:DOWNLOAD_PROGRESS animated:NO]; 

在一個不相關的音符,我建議你看看使用UIProgressView,而不是UISlider因爲它更適合於顯示進度。