ios - 滚动时更改的单个静态标头

时间:2012-07-18 17:51:40

标签: ios uiview uilabel sectionheader

我一直在搜索,似乎无法找到答案......

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

我无法分辨这是否应该设置为“一个(大)部分,其中包含一个更改的标题”或“一个更改的headerView”,或者其他......任何示例都将非常感激。先感谢您。

1 个答案:

答案 0 :(得分:1)

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

一旦你成为delegate的{​​{1}},你也是UITableView delegate的基础。

因此,您可以抓住UIScrollView委托电话并在那里更新您的标头。

所以说出来:

1。)在scrollViewDidScroll:

上方创建标题视图

2。)成为UITableView

delegate

3。)实现UITableView方法来检测滚动

4.。)在scrollViewDidScroll:方法中,使用scrollViewDidScroll的{​​{1}}属性来确定要显示的单元格,并相应地更新标题视图。

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

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