我有一個需求,我需要在UITableview的單元格中顯示滑塊。它基本上是哪裏的音頻項目保持下載一個下載表格視圖,下載的進度被捕獲並在tableview中的細胞中。每次發生項目下載時,我都會收到一個委託方法,並且我調用reload table來更新表視圖。這導致滾動問題,其中表格不會平滑滾動,因爲它將重新加載單元格下載項目。我怎麼解決這個問題?UiSlider應該在每秒內更新UITableviewCell內
感謝
我有一個需求,我需要在UITableview的單元格中顯示滑塊。它基本上是哪裏的音頻項目保持下載一個下載表格視圖,下載的進度被捕獲並在tableview中的細胞中。每次發生項目下載時,我都會收到一個委託方法,並且我調用reload table來更新表視圖。這導致滾動問題,其中表格不會平滑滾動,因爲它將重新加載單元格下載項目。我怎麼解決這個問題?UiSlider應該在每秒內更新UITableviewCell內
感謝
也許
// indexPaths array contains NSIndexPath of you cell with UISlider.
NSArray * indexPaths = @[[NSIndexPath indexPathForRow:1 inSection:0]];
[self.tableView reloadRowsAtIndexPath:indexPaths withRowAnimation:UITableViewRowAnimationNone];
可以幫助你。這允許只更新一些行,而不是所有的表。
即使它不能解決問題,最好只更新一行,而不是每秒都要將所有數據重新加載到表中。
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
因爲它更適合於顯示進度。