过去两天我遇到了这个问题,而且我试图解决这个问题并没有取得好成绩。
我有UITableView
个自定义UITableViewCell
。在UITableViewCell
内部,我有一个自定义UIView
,我将其归类并通过调用自己的drawRect
来绘制它。
重复使用的单元格的绘图没有问题,单元格正在调用自己的drawRect
,自定义子视图也调用自己的drawRect
。
当新单元格出列时出现问题,根本不调用自定义子视图drawRect
,使该视图为空(不可见)
我做了什么:
subview.setNeedsDisplay
无效,它会重新绘制重复使用的单元格'自定义子视图,但它对绘制较新的单元格没有影响。自定义子视图。这是我唯一想到的,并且很明显可以尝试。
有没有办法强制绘制新UItableViewCell
的子视图?
答案 0 :(得分:2)
您是否尝试过在主线程上调用[cell setNeedsDisplay]
?
答案 1 :(得分:0)
我设法解决了这个问题,并通过实施heightForRowAtIndexPath
强制重新绘制自定义单元格的子视图,而不管iOS版本(> = 7)
显然,iOS会在计算高度后重绘单元格。