我在重用tableViewCells时遇到了问题。
我有一个TableView。每个tableviewcell都包含一个包含集合视图的UIView。数据源和委托设置为该视图。该集合视图的每个单元格都显示一个图像。
当我现在滚动我的tableview时,tableview的单元格被重用。在cellForRowAtIndexPath中,我设置了单元格的值(即也是集合视图的委托和数据源)。
但是,重用的单元格不会更新collectionviewcell中包含的图像。我已经为self.setNeedsDisplay()尝试了不同的位置但没有成功。
有人建议在哪里触发正确的重装?
BR 多米尼克
答案 0 :(得分:1)
您应该在cellForItemAtIndexPath中设置数据。但是你也应该覆盖单元格中的prepareForReuse()方法,并重置那里的所有内容 - 这将在重用单元格之前被调用。例如,在您的单元格中,您应该将图像设置为nil,将委托设置为nil。
答案 1 :(得分:0)
可能您可以在my the same question下找到答案
这可能是由于UITableView中单元的重用系统。
您应该在tableView(_ tableView:UITableView, cellForRowAt indexPath:IndexPath)-> UITableViewCell 配置您的单元。这样,每次重复使用单元格时, 其内容。
您还必须清理数据源并委托,因为这是一个 重用的单元格,因此它可能已与另一个值一起使用。