我的tableView
中有myCustomCell
。
此单元格包含按钮和进度视图。通过单击按钮文件下载开始和进度视图显示下载进度。除了我在任何单元格中开始下载后滚动tableView
的那一刻,一切都很棒 - 进度视图显示在其他单元格中,而不是我先点击的那个单元格。例如,如果我单击第一个单元格并向下滚动一点 - 滚动停止后第一个单元格将显示下载文件的进度。如果我开始下载2次或更多次,则他们都会改变他们的位置。
以下是显示问题的简短视频:https://youtu.be/BTtU94ODbBI
(cell
可以在tableView
中随机多次更改位置,并且progress view
只能移动到另一个单元格
我该如何解决?
答案 0 :(得分:2)
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
tableview委托给您(视图控制器),为tableview提供一个单元格来呈现。
当该单元格离开屏幕时,在这种方法中回收并重复使用是公平的游戏。 你的问题源于回收的细胞仍然保持其先前的状态。
要停止此行为,每次在此功能中创建(或获取)单元格时,隐藏/重置任何进度更新。 cellForRowAtIndexPath
每次询问一个时都会得到一个干净的单元格,你应该在呈现之前配置它。
在您的情况下,myCustomCell
可以使用方法- (void) clean;
将progressView设置为隐藏,将标题设置为@""
等。创建cell
后立即调用此方法你很高兴