iOS tableViewCell嵌套tableview,cell刷新紊乱解决办法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS tableViewCell嵌套tableview,cell刷新紊乱解决办法相关的知识,希望对你有一定的参考价值。

参考技术A 2.cell'的复用机制去掉,根据[TemplateViewCell%ld%ld",indexPath.section,indexPath.row]进行

3.高度计算,采用类调用方法,传入模型

如何检测自定义表格视图单元格何时离开屏幕?

【中文标题】如何检测自定义表格视图单元格何时离开屏幕?【英文标题】:How to detect when a custom tableview cell goes off the screen? 【发布时间】:2017-06-08 11:34:12 【问题描述】:

在我的应用中,我有一个自定义 tableViewCell,

我还有一个带有 tableView 的 View Controller,我在其中显示自定义 tableViewCells。

是否有一种方法(ViewController 方法或 TableViewCell 方法)在 tableViewCell 离开屏幕时触发,我需要在其中为我的单元格进行一些核心数据更新。

(我需要知道方法,因为当它离开屏幕时,我需要在我的 tableViewCell 中更新 Timer() 的 Core Data 值。)

【问题讨论】:

为什么不只在可见单元格中更新? Core Data 与表格视图的视觉状态紧密耦合似乎是一个有缺陷的架构。 【参考方案1】:

以下 tableview 委托用于检测单元格结束显示 :: tableView:didEndDisplayingCell:forRowAtIndexPath:

func tableView(_ tableView: UITableView, didEndDisplaying cell: UITableViewCell, forRowAt indexPath: IndexPath)

当单元格从表格视图中移除或单元格结束其显示时触发上述方法。

【讨论】:

【参考方案2】:

你可以使用 UITableView 的tableView:didEndDisplayingCell:forRowAtIndexPath:deleaget 方法

func tableView(_ tableView: UITableView, didEndDisplaying cell: UITableViewCell, forRowAt indexPath: IndexPath) 

    

这里请注意,当你重新加载tableview或cell时,正在被移除的cell会触发这个方法。所以在这个方法中实现额外的逻辑来处理这种情况。

【讨论】:

【参考方案3】:

有一个tableView(_:didEndDisplaying:forRowAt:) 委托方法: https://developer.apple.com/documentation/uikit/uitableviewdelegate/1614870-tableview

【讨论】:

Use this method to detect when a cell is removed from a table view, as opposed to monitoring the view itself to see when it appears or disappears. 看起来这可能会做不同的事情。

以上是关于iOS tableViewCell嵌套tableview,cell刷新紊乱解决办法的主要内容,如果未能解决你的问题,请参考以下文章

iOS tableViewCell嵌套tableview,cell刷新紊乱解决办法

tableViewcell页码

让自定义 TableViewCell 的 UIimageView 宽度为单元格宽度的 1/3,单元格高度 = 图像纵横比

TableViewCell 内的 UItextField 包含多个部分 - 数据重复

iOS 7 UISearchBar 右间距

如何保留主题 ID,在 TableViewCell 中标记为已完成