滚动并返回到 UITableView 中的部分关闭(包含 0 个单元格)

Posted

技术标签:

【中文标题】滚动并返回到 UITableView 中的部分关闭(包含 0 个单元格)【英文标题】:Making section in UITableView closed(with 0 cells) after scrolling away and returning to it 【发布时间】:2013-08-25 10:05:02 【问题描述】:

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

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

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

谢谢

【问题讨论】:

【参考方案1】:

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

【讨论】:

以上是关于滚动并返回到 UITableView 中的部分关闭(包含 0 个单元格)的主要内容,如果未能解决你的问题,请参考以下文章

如何滚动uitableview和顶部的部分标题,可见并滚动到

在 UITableView 中滚动时缩放图像

UITableView 使用 UIPIckerView 滚动到特定部分?

UItableView滚动到特定位置

关闭另一个视图后 UITableView 滚动内容大小不正确

浮动uiview子视图在滚动时消失