0

我有一个 UITableView,其中有部分标题,可以点击以展开或折叠该部分。在我的特定示例中,每个部分只有一行,可见(部分展开)或隐藏(部分折叠)。(我在部分标题上有一个 UITapGestureRecognizer 用于展开或折叠部分)这里是我的操作过程:

我点击该部分(这是 UITableViewHeaderFooterView 自定义视图),我看到出现在部分标题下的单元格。此刻一切正常。但是当我向下滚动我的表格视图时,单元格位于标题后面(如在联系人应用程序中,标题是联系人的第一个字母)。最后,当我滚动到足以看不到带有该单元格的该部分时,并且当我向上滚动时-返回到显示该部分-我想让该部分自动知道当我返回时(从滚动该部分从视图)到它 - 我希望该部分已经关闭,其中包含 0 个单元格。

也许我必须在我的自定义 UITableViewHeaderFooterView 或滚动方法中使用 -(void) prepareForReuse ?或任何 tableView 方法?

谢谢

4

1 回答 1

0

您可以实现滚动视图委托方法并使用它们来检查滚动位置 ( contentOffset) 和/或可见单元格 ( indexPathsForVisibleRows)。一旦您知道您可以折叠任何不再可见的部分。您可能应该使用一种滚动方法,这意味着滚动已停止(也许scrollViewDidEndScrollingAnimation:),因为在滚动动画期间更改表格视图内容大小(这会更改行数)可能会导致它突然停止。

于 2013-08-25T10:52:03.603 回答