我有一个表格视图,每个部分都有标题,其中包含有关该部分中单元格的数据。当表格滚动时,我希望标题具有透明背景,直到每个部分都到达视图的顶部(或者甚至在它非常接近顶部时)并且粘住(UITableViewStylePlain的股票标题行为)。
我可以使用headerViewForSection和tableView:visibleCells来获得对顶部标题的引用,但我想要一个允许标题管理它自己位置的解决方案,以便每个headerView将确定何时转换为透明。
实现这一目标的最简洁方法是什么?
答案 0 :(得分:0)
您可以使用KeyValueObserving将观察者(tableview标题)添加到UITableView的contentOffset
属性,当表视图滚动时,消息将连续向您发送headerView。
如果您不需要连续通知,则可以在视图控制器中实施UIScrollViewDelegate
,在- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
中发布自定义通知或在UIScrollViewDelegate
中发布其他方法。你的headerView应该注册为接收者
提前通知自定义。
更新
- (void)scrollViewDidScroll:(UIScrollView *)scrollView;
在表格视图滚动时也会被称为连续。