检查是否选择了UITableViewCell,并且单元格已关闭

时间:2015-02-05 02:55:34

标签: ios objective-c uitableview custom-cell didselectrowatindexpath

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

customCell.m中,我有方法prepareForReuse。在那里我制作了rowNumber的NSLog。

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

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

3 个答案:

答案 0 :(得分:0)

您可以使用- (void)tableView:tableView didEndDisplayingCell:cell forRowAtIndexPath:indexPath;中的UITableViewDelegate来了解屏幕上滚动的单元格。

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

答案 1 :(得分:0)

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

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

它与故事板非常相似。

答案 2 :(得分:0)

实际上,您不需要直接拨打prepareForReuse,因为它会被自动调用:

  

在从对象返回之前调用此方法   UITableView方法dequeueReusableCellWithIdentifier:。

当你不知道该怎么做时,请注意:

  

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

UITableViewCell Class Reference