使用Scroll显示和隐藏tableView标题?

时间:2014-02-23 05:53:36

标签: ios objective-c uitableview

我希望在向下滚动时在tableview顶部显示视图,向上滚动时隐藏。

这是我的努力

tblView.tableHeaderView=headerToolbar;
[tblView setContentOffset:CGPointMake(0, 44) animated:YES];

用户滚动时

 - (void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset {

    CGPoint targetPoint = *targetContentOffset;
    CGPoint currentPoint = scrollView.contentOffset;

    if (targetPoint.y > currentPoint.y) {
        [tblView setContentOffset:CGPointMake(0, 0) animated:NO];
    }
    else {
        [tblView setContentOffset:CGPointMake(0, 44) animated:NO];
    }
}

但向上滚动时它不起作用。

2 个答案:

答案 0 :(得分:0)

我建议不要使用标题视图,而是在UITableView上添加标题视图作为子视图,并使用所需的rect。当用户向上/向下滚动显示/隐藏表格视图顶部的标题视图时。 您可以使用this找到UITableView的滚动方向。

答案 1 :(得分:0)

在UITableView上添加UIView。这有助于你隐藏和显示你的观点。

只需更新即可。

- (void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset {

    CGPoint targetPoint = *targetContentOffset;

    CGPoint currentPoint = scrollView.contentOffset;

    if (targetPoint.y > currentPoint.y) {

        [self.view insertSubview:theTableView aboveSubview:yourView];
    }

    else {

        [self.view insertSubview:yourView aboveSubview:theTableView];
    }

}