检查是不是选择了 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 是不是完全可见以进行自动播放