0

我一直在寻找一吨,似乎无法找到答案......

我有一个 tableView 滚动所有月份的所有日子。而且我有一个 titleForHeaderInSection: 和 viewForHeaderInSection: 在每个月的顶部显示一个节标题,它在顶部适当地替换,很酷。但是如何创建一个标题标签在我滚动时更改为正确月份的单个标题(换句话说,没有多个部分标题,只有一个)?

我不知道这是否应该设置为“一个(大)部分的标题发生变化”或“一个标题视图发生变化”,或者其他什么......任何例子都将不胜感激。先感谢您。

4

1 回答 1

2

您可以创建一个静态视图并将其放在您的 tableView 上方。然后您可以使用该visibleCells属性来确定哪些单元格是可见的。当这些单元格更改为新部分的单元格时,您可以更新UITableView.

一旦你是delegate那个UITableView你也是它所建立delegate的那个。UIScrollView

因此,您可以捕获scrollViewDidScroll:委托调用并在那里更新您的标题。

所以把它摆出来:

1.)在您的上方创建一个标题视图UITableView

delegate2. )成为UITableView

3.) 实现scrollViewDidScroll:检测滚动的方法

4.) 在scrollViewDidScroll方法内部使用 的visibleCells属性UITableView来确定正在显示哪些单元格并适当地更新您的标题视图。

我从来没有做过这样的事情,但我不明白为什么它不起作用。

编辑:正如 Husker Jeff 指出的那样。indexPathsForVisibleRows确定屏幕上的内容可能更容易使用。然后,您可以很容易地使用它来确定正在显示的部分/部分。谢谢杰夫!

于 2012-07-18T18:29:39.297 回答