UIView drawRect在UITableViewCell中只调用一次,导致陈旧的数据,当单元格被重新使用

问题描述:

我有一个UITableViewCell包含我创建的自定义UIView(和一些其他的东西)。我的自定义视图扩展了UIView,并为一些自定义绘图重写了drawRect。UIView drawRect在UITableViewCell中只调用一次,导致陈旧的数据,当单元格被重新使用

当我最初加载每个单元格时,我的tableview呈现正确,但是当我滚动表格时,单元格正在被重用,并且自定义的UIView.drawRect方法不会被重新调用。这导致了一个陈旧的UIView被用于tableview中的单元格。

我做错了什么?我试着在tableview单元格上设置setNeedsDisplay,但那不起作用。

原来我打电话setNeedsDisplayUITableViewCell。当我在表视图单元格内的自定义UIView上调用它时,它就起作用了。