【问题标题】: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,但我不知道在其中做什么。

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

【问题讨论】:

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


    【解决方案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/

      故事板非常相似。

      【讨论】:

      • 我认为你的链接有误,因为它没有教程,只有一个标题
      • 你经历过吗?它在底部附近有示例代码。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-24
      • 2014-03-16
      • 2012-01-07
      • 1970-01-01
      相关资源
      最近更新 更多