确定何时在屏幕上显示UITableView TableHeaderView或TableFooterView

时间:2015-05-07 14:52:05

标签: ios objective-c uitableview

我正在尝试确定何时在屏幕上实际呈现tableHeaderView或tableFooterView。我面临的问题是我一次只能呈现1个广告视图。如果我把它放在标题然后是页脚,它会从标题中删除它。所以我想要做的是,当页脚显示在屏幕上时,将广告视图移动到页脚中,当标题显示在屏幕上时,将广告视图移动到标题中。

现在我正在加载2个单独的广告并将其放入每个广告中,但我们希望每个广告都有相同的广告,广告服务器建议只加载一个广告并将其移动到需要显示的位置。

1 个答案:

答案 0 :(得分:1)

您可以使用scrollview委托在每个视图离开屏幕时手动计算

这篇文章有你需要的东西我相信

https://stackoverflow.com/a/27868948/4875095

- (void)scrollViewDidScroll:(UIScrollView *)scrollView {

static CGFloat lastY = 0;

CGFloat currentY = scrollView.contentOffset.y;
CGFloat headerHeight = self.headerView.frame.size.height;

if ((lastY <= headerHeight) && (currentY > headerHeight)) {
    NSLog(@" ******* Header view just disappeared");
}

if ((lastY > headerHeight) && (currentY <= headerHeight)) {
    NSLog(@" ******* Header view just appeared");
}

lastY = currentY;

}