检查是不是选择了 UITableViewCell,并且单元格离开了屏幕

Posted

技术标签:

【中文标题】检查是不是选择了 UITableViewCell,并且单元格离开了屏幕【英文标题】:Check if a UITableViewCell is selected, and the cell went off screen检查是否选择了 UITableViewCell,并且单元格离开了屏幕 【发布时间】:2015-02-05 02:55:33 【问题描述】:

我有一个自定义 UITableViewCell dequeueReusableCells。我有一个名为selectedRow 的int,它在didSelectRowAtIndexPath 的方法中获取选定的行号。然后我将selectedRow 传递给一个名为rowNumber 的int,它在我的customCell 的类中。

customCell.m,我有方法prepareForReuse。在那我做了一个rowNumber的NSLog。

我想要做的是:如果选择了一行并且该行离开了屏幕,那么执行一些代码。我可能不得不使用prepareForReuse,但我不知道在其中做什么。

我知道这有点复杂,但如果您有任何问题,我很乐意回答

【问题讨论】:

【参考方案1】:

其实你不需要直接调用prepareForReuse,因为它会自动调用:

此方法在对象从 UITableView 方法 dequeueReusableCellWithIdentifier:.

当你不知道在里面做什么时,请注意:

出于性能原因,您应该只重置单元格的属性 与内容无关的内容,例如 alpha、编辑和 选择状态

UITableViewCell Class Reference

【讨论】:

【参考方案2】:

您可以在UITableViewDelegate 中使用- (void)tableView:tableView didEndDisplayingCell:cell forRowAtIndexPath:indexPath; 来了解哪个单元格被滚动到屏幕外。

但是,此方法仅适用于 ios6+。

【讨论】:

我必须在customCell.m中进行,它没有didEndDisplayingCell的类 @MikeRally 您可以从cell 调用customCell.m 中的代码。【参考方案3】:

你把事情复杂化了。您不必在自定义单元格中进行 prepareForReuse。

看看这个。 http://www.icodeblog.com/2009/05/24/custom-uitableviewcell-using-interface-builder/

故事板非常相似。

【讨论】:

我认为你的链接有误,因为它没有教程,只有一个标题 你经历过吗?它在底部附近有示例代码。

以上是关于检查是不是选择了 UITableViewCell,并且单元格离开了屏幕的主要内容,如果未能解决你的问题,请参考以下文章

检查 UITableViewCell 上是不是已经存在 UIButton

检查 UITableViewCell 是不是完全可见以进行自动播放

UITableViewCell 图像在选择之前不显示

iOS15.1 UITableViewCell 错乱问题

UITableViewCell 中的 UIPickerView - 如何选择值而不是滚动 TableView?

UITableViewCell 与 UITextField 失去选择 UITableView 行的能力?