Ios 使UITableView中的节在滚动并返回后关闭(0个单元格)

Ios 使UITableView中的节在滚动并返回后关闭(0个单元格),ios,objective-c,uitableview,uiscrollview,Ios,Objective C,Uitableview,Uiscrollview,我有一个UITableView,其中我有一个节头,可以点击它来扩展或折叠该节。在我的特定示例中,每个部分只有一行,可以是可见的(部分展开)或隐藏的(部分折叠)。(我在节标题上有一个UITapGestureRecognitor,用于展开或折叠节)下面是我的操作过程: 我点击该节(这是UITableViewHeaderFooterView自定义视图),我看到了显示在节标题下的单元格。现在一切都很顺利。但当我向下滚动我的tableview时,单元格会在标题后面(就像在Contacts应用程序中一样,标

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

我点击该节(这是UITableViewHeaderFooterView自定义视图),我看到了显示在节标题下的单元格。现在一切都很顺利。但当我向下滚动我的tableview时,单元格会在标题后面(就像在Contacts应用程序中一样,标题是联系人的第一个字母)。最后,当我滚动到看不到该单元格打开的部分时,当我向上滚动-返回到显示该部分时-我想让该部分自动知道,当我返回(从视图中滚动该部分)到它时-我想该部分已经关闭,其中有0个单元格

也许我必须在自定义UITableViewHeaderFooterView或scroll方法中使用-(void)prepareforeuse?或者任何tableView方法


谢谢

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