确定哪个标题位于UITableView的顶部

时间:2014-01-12 22:43:16

标签: ios uitableview

我有一个表格视图,每个部分都有标题,其中包含有关该部分中单元格的数据。当表格滚动时,我希望标题具有透明背景,直到每个部分都到达视图的顶部(或者甚至在它非常接近顶部时)并且粘住(UITableViewStylePlain的股票标题行为)。

我可以使用headerViewForSection和tableView:visibleCells来获得对顶部标题的引用,但我想要一个允许标题管理它自己位置的解决方案,以便每个headerView将确定何时转换为透明。

实现这一目标的最简洁方法是什么?

1 个答案:

答案 0 :(得分:0)

您可以使用KeyValueObserving将观察者(tableview标题)添加到UITableView的contentOffset属性,当表视图滚动时,消息将连续向您发送headerView。

如果您不需要连续通知,则可以在视图控制器中实施UIScrollViewDelegate,在- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView中发布自定义通知或在UIScrollViewDelegate中发布其他方法。你的headerView应该注册为接收者  提前通知自定义。

更新

- (void)scrollViewDidScroll:(UIScrollView *)scrollView;在表格视图滚动时也会被称为连续。