swift - UIView drawRect 仅在 UITableViewCell 中调用一次,导致在重新使用单元格时产生陈旧数据

标签 swift uitableview uiview drawrect

我有一个 UITableViewCell,其中包含我创建的自定义 UIView(以及一些其他内容)。我的自定义 View 扩展了 UIView,并覆盖了一些自定义绘图的 drawRect。

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

我做错了什么吗?我尝试在 tableview 单元格上设置 setNeedsDisplay,但这没有用。

最佳答案

原来我在 UITableViewCell 上调用了 setNeedsDisplay。当我在表格 View 单元格内的自定义 UIView 上调用它时,它起作用了。

关于swift - UIView drawRect 仅在 UITableViewCell 中调用一次,导致在重新使用单元格时产生陈旧数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40209870/

相关文章:

ios - super View 转换后如何找到 UIView 的中心?

swift - 如何在 tvOS 中获得焦点 View 帧大小?

ios - 如何使用自定义文本放置创建基于照片的表格 View 单元格?

arrays - [String] 和 Array<String> 的区别

ios - 滚动 UIScrollView - 阻塞主线程

xcode - 删除 heightForRowAtIndexPath : compatibility with iOs7

xcode - iOS 7 状态栏和 self.view.frame 和 self.view.bounds

ios - 将 UIView 设置在距屏幕 iOS 右边缘的固定比例位置

ios - 更改沙箱帐户后,Apple IAP 恢复数据发送相同的收据

ios - 点击时更改 View 背景颜色